在 Zentyal 服务器上安装和配置 Web 服务(Apache 虚拟主机) - 第 9 部分
本教程的范围是演示如何使用 Apache 虚拟主机将 Zentyal 3.4 Server 用作具有多个网站(子域)的 Web 平台 。
Zentyal 3.4 使用 Apache(也称为 httpd )包作为 Web 服务器,它是当今 Internet 上最常用的 Web 服务器,并且是完全开源的。
虚拟主机代表 Apache 在一台机器或节点上为多个网站(域或子域)提供服务的能力,这一过程对最终用户完全透明,基于多个 IP 或虚拟主机。
另请阅读:Apache 虚拟主机:基于 IP 和基于名称的虚拟主机
要求
以前的 Zentyal 安装指南
第 1 步:安装 Apache Web 服务器
1. 登录 Zentyal 3.4 Web 管理工具,将浏览器指向 Zentyal IP 地址或域名 ( https://domain_name )。
2. 转到软件管理 -> Zentyal 组件并选择Web 服务器。
3. 点击安装按钮并接受证书颁发机构包(用于加密https连接的SSL证书需要)。
4. 安装完成后,转到模块状态,选择Web服务器,接受启用提示并点击保存应用新的更改。
Enable 提示将向您显示 Zentyal 将修改哪些包和配置文件的一些详细信息。
目前 Apache Web Server 已安装并正常运行,但到目前为止仅具有默认配置。
步骤2:创建虚拟主机并篡改DNS配置
在此配置中,我们希望在 Apache 上添加一个虚拟主机,以便我们的最终地址将作为子域提交,例如 http://cloud.mydomain.com,但是这里的问题是 Zentyal 3.4 Apache 模块和 DNS 模块由于某些原因无法与系统 IP 上的虚拟主机一起工作。
从Web模块创建的虚拟主机将作为新域名附加到DNS服务器,而不是像新主机A记录一样。 在 Zentyal 上设置虚拟主机有一些技巧,其中之一是使用虚拟 IP 接口。
幸运的是,解决此问题的另一个方法是在 Zentyal DNS 模块 上进行一些配置技巧。
5. 首先,我们添加一个虚拟主机。转至Web 服务器模块 -> 虚拟主机 -> 添加新内容。
6. 选中启用,输入该虚拟主机的名称(附加全点域名)并点击ADD。
7. 添加主机并在虚拟主机上列出后,点击上方的保存按钮应用更改。
主要问题是新创建的子域(虚拟主机)不可用,因为 DNS 服务器尚不包含主机名 A 记录。
在此子域上运行 ping 命令会得到相同的否定答案。
8. 要解决此问题,请转至 DNS 模块,然后单击列出的域下的主机名。
您可以明显看到创建的虚拟主机(或子域)存在并且需要添加IP地址。
由于虚拟主机配置为 Apache 从 Zentyal 节点提供 Web 文件,因此 DNS 模块需要主机名 A 记录来指向 Zentyal 相同的IP(Zentyal 不允许的设置)。
Zentyal 3.4 DNS 不允许将分配的系统 IP 地址与不同的主机名一起使用(同一 IP 上的多个 DNS 主机名 A 记录)。
9. 为了克服这种不良情况,我们将使用基于 DNS CNAME(别名)记录的技巧。为此,请进行以下配置。
- 删除刚刚添加到您的域的 DNS 主机名记录
10. 转到您的 Zentyal DNS FQDN 主机名记录,点击别名按钮,然后点击添加新按钮。
在 别名 字段中输入 Apache 虚拟主机上提供的相同名称(不带点域),点击添加并保存更改。
11. 现在您的 DNS 记录应该功能齐全,并指向 Apache 虚拟主机,作为交换,它将为 DocumentRoot 指令上托管的网页提供服务(/ Zentyal 上的 srv/www/your_virtual_host_name )。
12. 要测试配置,请打开浏览器并使用 http 协议在 URL 上输入您的虚拟主机名(子域)。
您还可以使用子域名从网络上的不同系统发出 ping 命令。
现在 Apache Web Server 已配置并启用,可以在不太安全的 http 端口 80 上提供网页服务,但我们希望在服务器和客户端之间添加一个安全层,请按照以下步骤 < b>#3 如下所示。
第 3 步:为 Apache 创建 SSL
要在 Zentyal 3.4 上启用 SSL(安全套接字层)加密,需要成为 CA(证书颁发机构)并且颁发数字证书,服务器和客户端通过安全通道交换数据所需的公钥和私钥。
13. 导航至认证机构模块 -> 常规。
14. 在权威证书上输入以下设置,然后点击创建。
- 组织名称:您的域名(在本例中,域名为“mydomain.com”)。
- 国家/地区代码:您的国家/地区代码(2-3 个字符)。
- 城市:您的组织的主要位置。
- 状态:将其留空。
- 过期天数:3650 – 默认(10 年)。
15. 创建主权威证书后,我们使用以下设置为虚拟主机颁发一张新证书。
- 通用名称:输入您的虚拟主机名或服务器 FQDN(在本例中为 cloud.mydomain.com)。
- 到期天数:3650。
- 主题备用名称:此处最常见的参数是您的电子邮件地址(电子邮件:[电子邮件受保护])。
16. 证书生成后,您可以下载、撤销或续订。
17. 下一步是将此证书与 Apache 服务 链接。再次转到证书颁发机构 -> 服务证书并突出显示Web 服务器模块。
18. 在Web 服务器模块上选择启用,然后点击操作图标编辑证书。
19. 在通用名称上输入之前在步骤#15中创建的名称(通用名称是证书名称 ),再次选中“启用”,按“更改”按钮,然后点击顶部“保存更改”以应用新设置。
现在您的证书已生成并链接到Web 服务器服务,但尚未在虚拟主机 上运行,因为HTTPS 协议未在上启用>网络服务器。
步骤 4:启用 Apache HTTPS
在 Zentyal 3.4 SSL 上,处理是由 HAProxy 服务完成的,但我们仍然需要启用 Apache SSL 配置文件和端口指令。
20. 导航至 Web 服务器 –> 在 HTTPS 侦听端口设置上选择启用 – 端口 443(默认 SSL 端口),然后点击更改按钮。
21. 导航到页面底部,然后单击列出的虚拟主机中的操作按钮以编辑SSL设置。
22. 在SSL支持上选择允许SSL选项,点击更改,然后点击顶部保存更改。
23. 现在 Apache 将在默认 http 端口 80 和 443 上为“cloud.mydomain.com”虚拟主机提供服务。
24. 重复上述步骤,您可以将 Zentyal 转换为 Web 托管 框,并根据需要使用 Apache 虚拟主机 添加任意数量的域或子域,使用之前颁发的证书将所有内容配置为使用 HTTP 和 HTTPS 通信协议。
尽管可能没有复杂的配置来暗示真正的 Web 托管平台(有些可以从命令行并使用 Apache .htaccess 文件创建),但可以使用 Zentyal 3.4托管中型网站,并极大地简化了 Web 服务的编辑和配置。