如何在Debian 10上安装带虚拟主机的Apache

在本指南中,我们将引导您完成有关如何在Debian 10上安装Apache的步骤,以及配置虚拟主机以在服务器上托管多个域。

Apache ,通常被称为Apache HTTP服务器 ,是由Apache Foundation维护的免费开源跨平台Web服务器。 它是领先的网络服务器,在互联网上占据35%的市场份额, Nginx24%排名第二。

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

在本指南中,我们将引导您完成有关如何在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
更新Debian 10存储库

更新Debian 10存储库

第2步:在Debian 10上安装Apache

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

$ sudo apt install apache2 -y
在Debian 10中安装Apache

在Debian 10中安装Apache

第3步:检查Apache Webserver的状态

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

要检查Apache webserver的状态,请执行该命令。

$ sudo systemctl status apache2
检查Apache状态

检查Apache状态

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

$ sudo systemctl start apache2

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

$ sudo systemctl enable apache2

重启Apache运行。

$ sudo systemctl restart apache2

第4步:将防火墙配置为允许HTTP端口

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

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

$ sudo allow 80/tcp

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

$ sudo ufw status
在UFW防火墙上打开端口80

在UFW防火墙上打开端口80

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

$ sudo netstat -pnltu
验证Apache监听端口

验证Apache监听端口

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

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

http://server-IP-address 
OR  
http://server-domain-name
检查Apache Web Page

检查Apache Web Page

第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

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

检查Apache网站

检查Apache网站

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

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

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

$ sudo mkdir -p /var/www/html/howtoing.com/

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

$ sudo chown -R $USER:$USER /var/www/html/howtoing.com/

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

$ sudo chmod -R 755 /var/www/html/howtoing.com

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

$ sudo nano /var/www/html/howtoing.com/index.html

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

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

保存并退出文本编辑器。

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

$ sudo nano /etc/apache2/sites-available/howtoing.com.conf

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

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

保存并退出。

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

$ sudo a2ensite howtoing.com.conf

现在让我们禁用默认站点

$ sudo a2dissite 000-default.conf

要实现更改,请重新加载apache webserver。

$ sudo systemctl restart apache2

现在重新加载您的Web服务器并注意您的域的更改。

验证Apache上的虚拟主机

验证Apache上的虚拟主机

结论

我们已经到了本教程的最后。 在本指南中,您学习了如何在Debian 10上安装Apache ,以及如何配置虚拟主机以托管其他域。 欢迎您回复我们的反馈意见。