Ubuntu 14.04 LTS上的Apache虚拟主机

Apache分为可以分别定制和配置的单元。这些部分称为虚拟主机。

虚拟主机允许管理员使用一台服务器通过一个IP托管多个域。这对于想要在同一VPS上托管多个网站的任何人都非常有用,而永远不要表示同一台服务器也托管其他网站。可以无限制地重复此过程,具体取决于服务器可以处理的负载。

为了完成这些步骤,您将需要具备以下条件:

  • 非root用户。
  • 已安装Apache。
  • 设置您的域名以指向您的VPS。

我的配置将使得虚拟主机的test1.comtest2.com。您应该用自己的域替换这些域。

创建目录

文档根目录将设置为/var/www文件夹下的各个目录。在此处为两个虚拟主机创建一个目录,如下所示:

sudo mkdir /var/www/test1
sudo mkdir /var/www/test2

权限

您创建的目录由root用户拥有。您必须更改普通用户的所有权才能修改文件。$USER是您当前登录的用户。

sudo chown -R $USER:$USER /var/www/test1
sudo chown -R $USER:$USER /var/www/test2

您还应该修改对常规Web目录以及其中的所有文件和文件夹的权限。

sudo chmod -R 755 /var/www

为每个虚拟主机创建页面

index.html为每个站点制作一个页面。

nano /var/www/test1/index.html

在此HTML文件中,您可以放置​​简单的内容,仅表示您的配置有效。例如,我的文件如下所示。

<html>
  <head>
    <title>test1</title>
  </head>
  <body>
    <h1>test1.com virtual host !</h1>
  </body>
</html>

完成后保存并关闭文件。

现在,将此文件复制到第二个站点。

cp /var/www/test1/index.html /var/www/test2/index.html

然后可以打开并修改它。

nano /var/www/test2/index.html

<html>
  <head>
    <title>test2</title>
  </head>
  <body>
    <h1>test2.com virtual host !</h1>
  </body>
</html>

完成后保存并关闭此文件。

创建虚拟主机文件

虚拟主机文件指定了虚拟主机的配置,并指示Apache Web服务器如何响应不同的域请求。

Apache带有默认的虚拟主机文件000-default.conf。复制此文件并为第一个域修改它。

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test1.conf

sudo nano /etc/apache2/sites-available/test1.conf

该文件将如下所示(不带注释):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
</VirtualHost>

ServerAdmin指令更改为站点管理员可以通过其接收电子邮件的电子邮件。然后,您需要添加三个指令:

  • ServerName-此虚拟主机的基本域。
  • ServerAlias-定义应与基本名称匹配的其他名称,例如www。
  • DocumentRoot-该域的文档根目录位置。

虚拟主机文件应类似于以下内容。

<VirtualHost *:80>
    ServerAdmin admin@test1.com
    ServerName test1.com
    ServerAlias www.test1.com
    DocumentRoot /var/www/test1
</VirtualHost>

保存并关闭文件。

您可以对第二个域执行相同的操作。

sudo cp /etc/apache2/sites-available/test1.conf /etc/apache2/sites-available/test2.conf

sudo nano /etc/apache2/sites-available/test2.conf

现在,您需要对其进行修改以引用您的第二个域。

<VirtualHost *:80>
    ServerAdmin admin@test2.com
    ServerName test2.com
    ServerAlias www.test2.com
    DocumentRoot /var/www/test2
</VirtualHost>

完成后保存并关闭文件。

启用虚拟主机文件

a2ensite工具可用于启用我们的每个网站,如下所示:

sudo a2ensite test1.conf
sudo a2ensite test2.conf

完成后,您需要重新启动Apache才能使这些更改生效:

sudo service apache2 restart

如果您收到此消息:

*Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set >the 'ServerName' directive globally to suppress this message

...别担心,这不会影响我们的网站。

最后步骤

现在,您已经配置了虚拟主机,可以通过在Web浏览器中配置的域来对其进行测试:

  • http://test1.com
  • http://test2.com

如果这两个站点均正常工作,则说明您已在同一服务器上成功配置了两个虚拟主机。

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息