如何在Ubuntu12.04LTS上设置Apache虚拟主机
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
红色是什么意思
用户需要输入或自定义的行在本教程中将显示为红色! 其余的大部分应该是可复制粘贴的。
关于虚拟主机
虚拟主机用于从单个 IP 地址运行多个域。 这对于需要在一台虚拟专用服务器上运行多个站点的人特别有用。 这些站点向访问者显示不同的信息,具体取决于用户访问站点的方式。可以添加到 VPS 的虚拟主机的数量没有限制。
设置
本教程中的步骤要求用户具有 root 权限。 您可以在 此处 初始服务器设置中查看如何设置。 您可以实现任何适合您的用户名。
此外,您需要已经在您的虚拟服务器上安装并运行 apache 如果不是这种情况,您可以使用以下命令下载它:
sudo apt-get install apache2
第一步——创建一个新目录
创建虚拟主机的第一步是创建一个目录,我们将在其中保存新网站的信息。
稍后,此位置将成为您在 Apache 虚拟配置文件中的文档根目录。 通过在代码行中添加 -p,该命令会自动为新目录生成所有父目录。
sudo mkdir -p /var/www/example.com/public_html
您需要指定一个实际的 DNS 批准域或 IP 地址,以测试虚拟主机是否正常工作。 在本教程中,我们将使用 example.com 作为正确域名的占位符。
但是,如果您想使用未经批准的域名来测试该过程,您将在第七步中找到有关如何使其在本地计算机上运行的信息。
第二步——授予权限
我们需要将目录的所有权授予用户,而不是仅仅将其保留在根系统上。
sudo chown -R $USER:$USER /var/www/example.com/public_html
此外,确保每个人都能阅读我们的新文件也很重要。
sudo chmod -R 755 /var/www
现在你已经完成了权限。
第三步——创建页面
在我们的配置目录中,我们需要创建一个名为 index.html 的新文件
sudo nano /var/www/example.com/public_html/index.html
我们可以在文件中添加一些文本,以便在 IP 重定向到虚拟主机时查看一些内容。
<html> <head> <title>www.example.com</title> </head> <body> <h1>Success: You Have Set Up a Virtual Host</h1> </body> </html>
保存并退出
第四步——创建新的虚拟主机文件
下一步是设置 apache 配置。 我们将处理一个副本——继续在同一目录中制作文件的副本(以您的域名命名):
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example.com
第五步——开启虚拟主机
打开新的配置文件:
sudo nano /etc/apache2/sites-available/example.com
我们将在这个文件中设置一个虚拟主机。
第一步是在 ServerAdmin 行下为 ServerName 插入一行。
ServerName example.com
ServerName 指定虚拟主机使用的域名。
如果您想让您的站点可以从多个名称访问(例如,在 URL 中使用 www),您可以通过添加 ServerAlias Line 在虚拟主机文件中包含备用名称。 您的虚拟主机文件的开头将如下所示:
<VirtualHost *:80> ServerAdmin webmaster@example.com ServerName example.com ServerAlias www.example.com [...]
下一步是填写正确的 Document Root。 对于本节,写入在第一步中创建的新目录的扩展名。 如果文档根目录不正确或不存在,您将无法设置虚拟主机。
该部分应如下所示:
DocumentRoot /var/www/example.com/public_html
您无需对此文件进行任何其他更改。 保存并退出。
最后一步是使用内置的 apache 快捷方式激活主机:
sudo a2ensite example.com
第六步——重启 Apache
我们对配置进行了很多更改,并设置了虚拟主机。 然而,在 Apache 重新启动之前,我们所做的任何更改都不会生效。
使用此命令重新启动 apache:
sudo service apache2 restart
您可能会看到如下错误
Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
The message is just a warning, and you will be able to access your virtual host without any further issues.
可选步骤七——设置本地主机
如果您已将域名指向您的虚拟专用服务器的 IP 地址,则可以跳过此步骤——您无需设置本地主机。 您的虚拟主机应该可以工作。 但是,如果想在无需连接到实际域名的情况下试用新的虚拟主机,您可以单独在计算机上设置本地主机。 对于此步骤,请确保您使用的是计算机本身,而不是您的 droplet。
要继续此步骤,您需要知道计算机的管理密码,否则您将需要使用实际域名来测试虚拟主机。
如果您使用的是 Mac 或 Linux,请访问计算机上的 root 用户 (su
) 并打开您的 hosts 文件:
nano /etc/hosts
如果您使用的是 Windows 计算机,您可以在 Microsoft 网站 上找到更改主机文件的说明
您可以将本地主机详细信息添加到此文件中,如下例所示。 只要该行存在,将您的浏览器指向 example.com 就会为您提供相应 IP 地址的所有虚拟主机详细信息。
# Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost #Virtual Hosts 12.34.56.789 example.com
但是,最好在完成后将这些编造的地址从本地主机文件夹中删除,以避免将来出现任何混淆。
第八步——结果:查看您的虚拟主机的运行情况
完成虚拟主机设置后,您可以在线查看它的外观。 在浏览器中输入您的 IP 地址(即。 http://12.34.56.789)
它应该看起来有点类似于我的方便截图
做得好!
创建更多虚拟主机
要添加更多虚拟主机,您只需重复上述过程,注意使用适当的域名设置新的文档根目录,然后创建并激活新的虚拟主机文件。
看更多
设置好虚拟主机后,您可以继续 为您的站点创建 SSL 证书 或 安装 FTP 服务器