网站搜索

如何在 Ubuntu 20.04 上安装 Apache Web 服务器


本指南将引导您完成在 Ubuntu 20.04 上安装 Apache 网络服务器。它包括管理 Apache2 服务、在防火墙中打开 Web 服务器端口、测试 Apache2 安装以及配置虚拟主机环境。

相关阅读:如何在 Ubuntu 20.04 上安装 Nginx Web 服务器

要求:

  • 如何安装Ubuntu 20.04服务器

在 Ubuntu 20.04 中安装 Apache2

1. 首先,登录 Ubuntu 20.04 系统并使用以下 apt 命令更新系统软件包。

sudo apt update

2. 更新过程完成后,按如下方式安装 Apache2 Web 服务器软件。

sudo apt install apache2

3.安装Apache2软件包时,安装程序会触发systemd自动启动并启用apache2服务。您可以使用以下 systemctl 命令验证 apache2 服务是否处于活动/运行状态,并且是否能够在系统启动时自动启动。

sudo systemctl is-active apache2
sudo systemctl is-enabled apache2
sudo systemctl status apache2

在 Ubuntu 20.04 中管理 Apache

4. 现在您的 apache Web 服务器正在运行,是时候学习一些基本管理命令来使用以下 systemctl 命令来管理 apache 进程了。

sudo systemctl stop apache2      #stop apache2
sudo systemctl start apache2     #start apache2
sudo systemctl restart apache2   #restart apache2
sudo systemctl reload apache2    #reload apache2
sudo systemctl disable apache2   #disable apache2
sudo systemctl enable apache2    #enable apache2

在 Ubuntu 20.04 中配置 Apache

5.所有的Apache2配置文件都存放在/etc/apache2目录下,可以通过以下ls查看其下的所有文件和子目录命令。

ls /etc/apache2/*

6.以下是需要注意的关键配置文件和子目录:

  • /etc/apache2/apache2.conf – 主要的 Apache 全局配置文件,包括所有其他配置文件。
  • /etc/apache2/conf-available – 存储可用的配置。
  • /etc/apache2/conf-enabled – 包含启用的配置。
  • /etc/apache2/mods-available – 包含可用模块。
  • /etc/apache2/mods-enabled – 包含启用的模块。
  • /etc/apache2/sites-available – 包含可用站点(虚拟主机)的配置文件。
  • /etc/apache2/sites-enabled – 包含启用站点(虚拟主机)的配置文件。

请注意,如果服务器的FQDN未全局设置,则每次检查apache2服务状态或运行配置测试时,您都会收到以下警告。

apachectl[2996]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.0.2.15.

在主 apache 配置文件中全局设置 'ServerName' 指令以抑制此消息。

7. 要设置 Web 服务器的 FQDN,请使用 /etc/apache2/apache2.conf 中的 ServerName 指令文件,打开它以使用您喜欢的文本编辑器进行编辑。

sudo vim /etc/apache2/apache2.conf 

在文件中添加以下行(将 webserver1.howtoing.com 替换为您的 FQDN)。

ServerName webserver1.linux-console.net

8.在apache配置中添加服务器名称后,检查配置语法是否正确,并重新启动服务。

sudo apache2ctl configtest
sudo systemctl restart apache2

9. 现在,当您检查 apache2 服务状态时,不应出现警告。

sudo systemctl status apache2

在 UFW 防火墙中打开 Apache 端口

10.如果您的系统上启用并运行了UFW防火墙,则需要打开HTTP(端口80)和防火墙配置中的 HTTPS(端口 443)服务,以允许 Web 流量通过防火墙到达 Apache2 Web 服务器。

sudo ufw allow http
sudo ufw allow https
sudo ufw reload
OR
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

在 Ubuntu 20.04 上测试 Apache

11. 要测试 Apache2 网络服务器安装是否正常工作,请打开网络浏览器,并使用服务器的 IP 地址进行导航:

http://SERVER_IP

要查找服务器的公共 IP 地址,请使用以下任一curl 命令。

curl ifconfig.co
OR
curl ifconfig.me
OR
curl icanhazip.com

如果您看到 Apache Ubuntu 默认欢迎网页,则表示您的 Web 服务器安装工作正常。

在 Ubuntu 20.04 中设置虚拟主机

尽管Apache2 Web 服务器默认配置为托管一个网站,但您可以使用“虚拟主机”的概念,使用它来托管多个网站/应用程序。

因此,虚拟主机这一术语指的是运行多个网站/应用程序(例如example.comexample1.com )的做法) 在单个服务器上。

此外,虚拟主机可以是“基于名称”(这意味着您在单个 IP 地址上运行多个域/主机名),或“基于 IP” ”(意味着每个网站都有不同的 IP 地址)。

请注意,提供 Apache Ubuntu 默认欢迎网页(用于测试 Apache2 安装)的默认虚拟主机位于 /var/www/html 目录中。

ls /var/www/html/

12. 在本指南中,我们将为名为 linuxdesktop.info 的网站创建一个虚拟主机。因此,我们首先为网站创建 Web 文档根目录,用于存储网站的 Web 文件。

sudo mkdir -p /var/www/html/linuxdesktop.info

13. 接下来,对创建的目录设置适当的所有权和权限。

sudo chown www-data:www-data -R /var/www/html/linuxdesktop.info
sudo chmod 775 -R /var/www/html/linuxdesktop.info

14. 现在创建一个示例索引页以进行测试。

sudo vim /var/www/html/linuxdesktop.info/index.html

将以下 html 代码复制并粘贴到其中。

<html>
  <head>
    <title>Welcome to linuxdesktop.info!</title>
  </head>
  <body>
    <h1>Congrats! The new linuxdesktop.info virtual host is working fine.</h1>
  </body>
</html>

保存文件并退出。

15.接下来,您需要在/etc/apache2下为新站点创建一个虚拟主机配置文件(应以.conf扩展名结尾) /sites-available 目录。

sudo vim /etc/apache2/sites-available/linuxdesktop.info.conf

然后将以下配置复制并粘贴到文件中(请记住将 www.linuxdesktop.info 替换为您的 FQDN)。

<VirtualHost *:80>
    	ServerName www.linuxdesktop.info
	ServerAlias linuxdesktop.info
	DocumentRoot /var/www/html/linuxdesktop.info
	ErrorLog /var/log/apache2/linuxdesktop.info_error.log
	CustomLog  /var/log/apache2/linuxdesktop.info_access.log combined
</VirtualHost>

保存文件并退出。

16. 接下来,启用新站点并重新加载 Apache2 配置以应用新更改,如下所示。

sudo a2ensite linuxdesktop.info.conf
sudo systemctl reload apache2

17.最后,测试新的虚拟主机配置是否工作正常。在 Web 浏览器中,使用您的 FQDN 进行导航。

http://domain-name

如果您可以看到新网站的索引页,则表示虚拟主机工作正常。

就这样!在本指南中,我们展示了如何在 Ubuntu 20.04 上安装 Apache 网络服务器。我们还介绍了如何管理 Apache2 服务、在 UFW 防火墙中打开 HTTP 和 HTTPS 服务/端口、测试 Apache2 安装以及配置和测试虚拟主机环境。您有任何疑问,请使用下面的评论表与我们联系。