设置基于名称的虚拟主机 Apache

虚拟主机是一种在单个服务器上托管多个域名的方法。 虚拟主机有两种类型:“基于名称的虚拟主机”和“基于 IP 的虚拟主机”。 使用基于名称的虚拟主机,您可以在一台机器上使用一个 IP 地址托管多个网站。

在这里,我们将在一个 IP“192.168.1.227”上托管两个网站——即“www.virtualhost1.com”和“www.virtualhost2.com”。 Apache 网络服务,世界上最流行的网络服务器。

注意:虽然本教程使用 Ubuntu 14.04 服务器,但大多数 Linux 发行版的说明都类似。

入门:安装 Apache

首先,您需要更新系统,然后安装 Apache.

为此,请运行以下命令:

要验证 Web 服务器是否正常工作,请打开 Web 浏览器并导航到 URL https://192.168.1.227/(假设您的服务器 IP 地址为 192.168.1.227)。

你应该看到 Apache 网络服务器正在工作。

创建虚拟目录

首先,您需要创建一个目录结构来保存我们将提供给客户的网站数据。

为网站“www.virtualhost1.com”和“www.virtualhost2.com”创建两个目录。

笔记:托管文件的默认文件夹是“/var/www/html”。 对于那些使用替代文件路径的人,您必须相应地更改上述代码。

现在您需要为两个网站创建一个“index.html”文件。 这将由 Apache 网络服务器。

为“www.virtualhost1.com”虚拟主机创建一个 index.html 文件:

添加以下内容:

Save 和 close 文件。

同样,为“www.virtualhost2.com”虚拟主机创建一个 index.html 文件:

添加以下内容:

Save 和 close 文件。

设置所有权和权限

默认情况下, Apache 服务在 Ubuntu 中作为“www-data”用户运行。 我们之前创建的两个虚拟目录都归 root 所有。 您必须将这两个虚拟目录的所有权更改为“www-data”,以便 Apache 可以读写数据。

为此,请运行

此外,您需要使 Apache Web 根 (/var/www/html) 目录是世界可读的,因此每个人都可以从该目录读取文件。

创建虚拟主机文件:

默认情况下, Apache 带有一个名为“000-default.conf”的默认虚拟主机文件。 您需要先禁用此虚拟主机文件。

为此,请运行以下命令:

现在,为虚拟主机“www.virtualhost1.com”创建一个虚拟主机文件“www.virtualhost1.com.conf”。

添加以下内容:

Save 和 close 文件。

同样,为虚拟主机“www.virtualhost2.com”创建一个虚拟主机文件“www.virtualhost2.com.conf”。

添加以下内容:

Save 和 close 文件。

创建虚拟主机文件后,您需要启用新的虚拟主机。

你可以通过运行来做到这一点

最后,重启 Apache 服务。

测试虚拟主机:

您需要在每个远程或本地系统上添加一个主机条目,以按名称解析网站。

您可以通过编辑“/etc/hosts”文件来做到这一点。

添加以下行:

Save 和 close 文件。

打开您的网络浏览器并导航到 URL“https://www.virtualhost1.com”和“https://www.virtualhost2.com”。

您应该会看到我们之前创建的示例演示页面。

www.virtualhost1.com 演示页面:

Apache-name-virtualhost1

www.virtualhost2.com 演示页面:

Apache-name-virtualhost2

结论

我希望这篇文章能帮助你在 Ubuntu 中设置虚拟主机。 虚拟主机数量没有限制 Apache 可以处理,因此您可以创建和托管任意数量的网站。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅