网站搜索

如何在 Debian 10 上使用虚拟主机安装 Apache


Apache,通常称为Apache HTTP 服务器,是由Apache 基金会维护的免费开源跨平台Web 服务器。它是领先的 Web 服务器,在互联网上占有 35% 的市场份额,而 Nginx 则以 24% 的市场份额位居第二。

Apache 高度可靠、灵活、易于安装,并提供众多功能,使其深受开发人员和 Linux 爱好者的欢迎。此外,它由 Apache 基金会定期维护和更新,这有助于修复软件错误并提高其整体效率。在撰写本文时,Apache 的最新版本是2.4.39

另请阅读:在 Debian 10 上安装带有服务器块(虚拟主机)的 Nginx

在本指南中,我们将引导您完成如何在 Debian 10 上安装 Apache Web 服务器的步骤。

先决条件

在开始之前,请确保满足以下要求:

  1. Debian 10 的一个实例。
  2. 指向服务器的完全限定域名 (FQDN)。
  3. 在本指南中,我们使用域名 howtoing.com 指向 IP 地址为 192.168.0.104Debian 10 系统。
  4. 良好的互联网连接。

完成飞行前检查后,让我们开始吧

第 1 步:更新 Debian 10 系统存储库

Debian 10 上安装 Apache 的第一步是更新系统存储库。为此,请以普通用户身份登录并使用 sudo 权限运行命令。

sudo apt update -y

步骤 2:在 Debian 10 上安装 Apache

安装 Apache 非常简单,而且非常简单。成功更新系统存储库后,运行以下命令在 Debian 10 上安装 Apache

sudo apt install apache2 -y

步骤 3:检查 Apache Web 服务器的状态

成功安装 Apache Web 服务器后,始终建议检查该服务是否正在运行。大多数 systemd Linux 系统将在安装时自动启动该服务。

要检查 Apache Web 服务器的状态,请执行以下命令。

sudo systemctl status apache2

如果服务未运行,请使用命令启动服务。

sudo systemctl start apache2

要在启动时启用 Apache Web 服务器,请执行以下命令。

sudo systemctl enable apache2

重新启动 Apache 运行。

sudo systemctl restart apache2

步骤 4:配置防火墙以允许 HTTP 端口

如果已经配置了UFW防火墙,我们需要允许Apache服务穿过防火墙,以便外部用户可以访问Web服务器。

为此,我们需要允许防火墙上端口 80 上的流量。

sudo ufw allow 80/tcp

要验证防火墙是否允许该端口,请运行。

sudo ufw status

此外,您可以使用 netstat 命令来验证端口,如图所示。

sudo netstat -pnltu

第 5 步:验证 Apache HTTP Web 服务器

所有设置完成后,打开您最喜欢的网络浏览器并浏览服务器的 IP 地址或 FQDN,如图所示。

http://server-IP-address 
OR  
http://server-domain-name

第 6 步:配置 Apache Web 服务器

Apache Web 服务器已经设置完毕,是时候托管示例网站了。

默认的 Apache 网页文件 index.html 位于 /var/www/html/ 中,即 webroot 目录。您可以托管单个站点或创建虚拟主机文件来托管多个站点。

要托管单个站点,您可以修改位于 webroot 目录中的 index.html 文件。

但首先,如图所示对文件进行备份。

sudo mv /var/www/html/index.html /var/www/html/index.html.bak

现在让我们创建一个新的 index.html 文件。

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

让我们添加一些 HTML 示例内容,如图所示。

<html>
    <head>
        <title>Welcome to crazytechgeek</title>
    </head>
    <body>
        <h1>Howdy Geeks! Apache web server is up & running</h1>
    </body>
</html>

退出文本编辑器并重新启动 Web 服务器。

sudo systemctl restart apache2

现在重新加载您的网络浏览器并注意新站点的更改。

第7步:在Apache上创建虚拟主机

如果您希望 Web 服务器托管多个站点,解决此问题的最佳方法是在 Apache Web 服务器中创建虚拟主机。当您想在单个服务器中托管多个域时,虚拟主机会派上用场

首先,我们需要为域 howtoing.com 创建一个 webroot 目录。

sudo mkdir -p /var/www/html/linux-console.net/

接下来,我们将使用 $USER 变量为目录分配必要的权限。

sudo chown -R $USER:$USER /var/www/html/linux-console.net/

接下来,为域分配 webroot 目录的必要权限。

sudo chmod -R 755 /var/www/html/linux-console.net

现在使用您最喜欢的文本编辑器,创建示例 index.html 文件。

sudo nano /var/www/html/linux-console.net/index.html

让我们添加一些 HTML 示例内容,如图所示。

<html>
    <head>
        <title>Welcome to TecMint.com</title>
    </head>
    <body>
        <h1>Howdy Geeks!</h1>
    </body>
</html>

保存并退出文本编辑器。

现在,使用下面所示的命令为域创建虚拟主机文件。

sudo nano /etc/apache2/sites-available/linux-console.net.conf

现在复制并粘贴以下内容,并将域 howtoing.com 替换为您自己的域。

<VirtualHost *:80>
    ServerAdmin [email 
    ServerName linux-console.net
    ServerAlias linux-console.net
    DocumentRoot /var/www/html/linux-console.net/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

保存并退出。

此时,启用虚拟主机文件,如图所示。

sudo a2ensite linux-console.net.conf

现在让我们禁用默认站点

sudo a2dissite 000-default.conf

要使更改生效,请重新加载 apache Web 服务器。

sudo systemctl restart apache2

现在重新加载您的网络服务器并注意您的域的变化。

如果您想在网站上启用 HTTPS,请阅读本文:如何在 Debian 10 上为 Apache 设置免费 SSL 证书。

结论

本教程已经结束了。在本指南中,您学习了如何在 Debian 10 上安装 Apache 以及如何配置虚拟主机来托管其他域。欢迎向我们反馈您的反馈。