如何创建 Apache Ubuntu 22.04 LTS 上的虚拟主机

在本教程中,我们将向您展示如何创建 Apache Ubuntu 22.04 LTS 上的虚拟主机。 对于那些不知道的人,“虚拟主机”一词是指在单个服务器上托管多个域。 公司使用虚拟主机概念来使用一台机器托管多个网站。 它可以通过“基于 IP”的方法或“基于域名”的方法来实现。 在“基于 IP”的托管中,每个网站都有不同的 IP 地址。 在“基于名称”托管的情况下,我们在每个 IP 地址上运行多个名称。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示逐步设置 Apache Ubuntu 22.04 (Jammy Jellyfish) 上的虚拟主机。 对于 Ubuntu 22.04 和任何其他基于 Debian 的发行版,如 Linux Mint、Elementary OS、Pop!_OS 等,您可以按照相同的说明进行操作。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 22.04、20.04 和任何其他基于 Debian 的发行版,如 Linux Mint。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一个 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

创造 Apache Ubuntu 22.04 LTS Jammy Jellyfish 上的虚拟主机

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt 终端中的命令。

sudo apt update sudo apt upgrade

步骤 2. 安装 Apache Ubuntu 22.04 上的 HTTP 服务器。

默认, Apache 在 Ubuntu 22.04 基础存储库中可用。 现在运行下面的命令来安装最新版本的 Apache 到您的 Ubuntu 系统:

sudo apt install apache2

安装成功后,启用 Apache (在系统启动时自动启动),启动并使用以下命令验证状态:

sudo systemctl enable apache2 sudo systemctl start apache2 sudo systemctl status apache2

您可以使用以下命令确认 Apache2 版本:

apache2 -v

步骤 3. 配置防火墙。

现在我们设置一个简单的防火墙(UFW) Apache 允许对 HTTP 和 HTTPS 的默认 Web 端口进行公共访问:

sudo ufw allow OpenSSH sudo ufw allow 'Apache Full' sudo ufw enable

步骤 4. 创建虚拟主机。

首先,我们在里面创建网站目录 /var/www/

mkdir -p  /var/www/idroot.us

将域文档根目录和目录内所有文件的权限和所有权设置给apache用户:

sudo chown -R www-data: /var/www/idroot.us

接下来,我们使用 nano 文本编辑器创建一个新的虚拟主机文件来保存所有配置数据:

sudo nano /etc/apache2/sites-available/idroot.us.conf

添加以下文件:

<VirtualHost *:80>     ServerName idroot.us     ServerAlias www.idroot.us     ServerAdmin [email protected]     DocumentRoot /var/www/idroot.us     ErrorLog ${APACHE_LOG_DIR}/error.log     CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

Save 和 close 文件,然后重新启动 Apache 网络服务器,以便进行更改:

sudo a2ensite idroot.us.conf sudo a2dissite 000-default sudo systemctl restart apache2

让我们确认您的新网站配置正常(您应该会看到消息 syntax OK):

sudo apache2ctl configtest

步骤 5. 创建一个测试 HTML 页面。

现在新建一个 HTML 网站根文件夹中的文档:

sudo nano /var/www/idroot.us/index.html

添加以下文件:

<html>   <head>     <title>Welcome to idroot</title>   </head>   <body>     <h1>Hello World!</h1>      <p>Welcome to my new website <strong>idroot.us</strong>.</p>   </body> </html>

Save 和 close 该文件,现在您已经配置了虚拟主机,您可以通过转到您在 Web 浏览器中配置的域来轻松测试您的设置:

https://idroot.us

恭喜! 您已成功设置 Apache 虚拟主机。 感谢您使用本教程创建 Apache Ubuntu 22.04 LTS Jammy Jellyfish 系统上的虚拟主机。 如需更多帮助或有用信息,我们建议您查看 官方 Apache 网站.