网站搜索

在 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(别名)记录的技巧。为此,请进行以下配置。

  1. 删除刚刚添加到您的域的 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. 在权威证书上输入以下设置,然后点击创建

  1. 组织名称:您的域名(在本例中,域名为“mydomain.com”)。
  2. 国家/地区代码:您的国家/地区代码(2-3 个字符)。
  3. 城市:您的组织的主要位置。
  4. 状态:将其留空。
  5. 过期天数:3650 – 默认(10 年)。

15. 创建主权威证书后,我们使用以下设置为虚拟主机颁发一张新证书。

  1. 通用名称:输入您的虚拟主机名或服务器 FQDN(在本例中为 cloud.mydomain.com)。
  2. 到期天数:3650。
  3. 主题备用名称:此处最常见的参数是您的电子邮件地址(电子邮件:[电子邮件受保护])。

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 端口 80443 上为“cloud.mydomain.com”虚拟主机提供服务。

24. 重复上述步骤,您可以将 Zentyal 转换为 Web 托管 框,并根据需要使用 Apache 虚拟主机 添加任意数量的域或子域,使用之前颁发的证书将所有内容配置为使用 HTTPHTTPS 通信协议。

尽管可能没有复杂的配置来暗示真正的 Web 托管平台(有些可以从命令行并使用 Apache .htaccess 文件创建),但可以使用 Zentyal 3.4托管中型网站,并极大地简化了 Web 服务的编辑和配置。