如何在Ubuntu 18.04上安装Apache Web Server

本文解释了如何在Ubuntu 18.04上安装Apache Web服务器。我们还将了解如何管理Apache服务并创建用于设置网站的虚拟主机。

Apache HTTP服务器是一个免费的,开源的,功能强大,稳定,可靠和使用最广泛的跨平台Web服务器,可运行在类Unix系统(如Linux和Windows操作系统)上。 它提供了许多强大的功能,包含可动态加载的模块,强大的媒体支持以及与其他流行软件的巨大集成。 它也可用作其他服务器的反向代理,例如Nodejs,Python等应用服务器。

在本文中,我们将解释如何在Ubuntu 18.04上安装Apache Web服务器。 我们还将了解如何通过systemd管理Apache服务并创建用于设置网站的虚拟主机。

第1步:在Ubuntu 18.04上安装Apache

1. Apache可以从官方的Ubuntu软件仓库获得,首先通过更新系统的软件包索引开始,然后使用APT软件包管理器安装Apache软件包以及依赖关系。

$ sudo apt update 
$ sudo apt install apache2

成功安装Apache Web服务器后,请记下这些Apache重要的默认文件和目录。

  • 主要配置文件目录: / etc / apache2 /
  • 主配置文件: /etc/apache2/apache2.conf
  • 其他配置片段: / etc / apache2 / conf-available // etc / apache2 / conf-enabled /
  • 每个站点的虚拟主机配置片段: / etc / apache2 / sites-available // etc / apache2 / sites-enabled /
  • 用于加载模块的配置片段: / etc / apache2 / mods-available // etc / apache2 / mods-enabled /
  • Web DocumentRoot: / var / www / html /
  • 日志文件(错误和访问日志)目录: / var / log / apache /

2.在Apache安装过程之后,Web服务器服务应该自动启动,您可以使用以下命令检查它是否已启动并正在运行。

$ sudo systemctl status apache2
在Ubuntu中检查Apache服务

在Ubuntu中检查Apache服务

3.现在您的Apache Web服务器已启动并运行,让我们回顾一些基本的管理命令以使用以下命令管理Apache服务。

$ sudo systemctl status apache2
$ sudo systemctl stop apache2
$ sudo systemctl start apache2
$ sudo systemctl restart apache2
$ sudo systemctl reload apache2
$ sudo systemctl enable apache2
$ sudo systemctl disable apache2

4.接下来,如果您的系统上启用并运行了UFW防火墙,则需要打开端口80443以允许客户端分别通过HTTPHTTPS向Apache Web服务器发送请求,然后使用以下命令重新加载防火墙设置。

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw  reload

第2步:在Ubuntu 18.04上检查Apache Web服务器

5.现在测试你的Apache2安装是否正常运行; 打开Web浏览器并输入以下URL以访问Apache默认网页。

http://domain_name/
OR
http://SERVER_IP/

如果你看到这个页面,这意味着你的Apache Web服务器工作正常。 它还显示了一些有关重要Apache配置文件和目录位置的基本信息。

检查Apache Web页面

检查Apache Web页面

注意 :如果您想使用虚拟域名(例如howtoing.local ,它不是一个完全注册的域名),则可以在要访问Apache默认网页的计算机上使用/ etc / hosts文件设置本地DNS 。

$ sudo vim /etc/hosts

然后在文件底部添加以下行,确保使用服务器的IP地址和本地域名替换192.168.56.101howtoing.local

192.168.56.101 howtoing.local 

第3步:在Ubuntu 18.04上设置Apache虚拟主机

接下来,我们将解释如何在您的网站上为Apache HTTP服务器(类似于Nginx服务器模块 )创建虚拟主机。 例如,如果您有一个名为example.com的站点,并且您想使用Apache托管您的VPS,则需要在/etc/nginx/sites-available/下为其创建一个虚拟主机。

首先,开始为您的域example.com创建文档根目录,您的网站文件将存储在这个目录中。

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

7.然后在目录上设置适当的权限,如图所示。

$ sudo chmod -R 775 /var/www/html/example.com/
$ sudo chown -R www-data:www-data /var/www/html/example.com/

8.接下来,在您网站的根目录中为您的网站创建一个测试html索引页面。

$ sudo vim /var/www/html/example.com/index.html

在里面,添加下面的示例HTML代码。

<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>The example.com virtual host is working!</h1>
</body>
</html>

完成后保存并关闭文件。

9.现在在/ etc / apache2 / sites-available /目录下为您的站点创建一个example.com.conf虚拟主机文件。

$ sudo vim /etc/apache2/sites-available/example.com.conf 

粘贴以下配置指令,该指令与默认类似,但用新的新目录和域名更新。

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

完成后保存并关闭文件。

10.现在使用a2ensite实用程序启用您的站点配置。

$ sudo a2ensite example.com.conf

11.接下来,测试您的Apache2配置是否存在任何错误,如果一切正常,请重新启动apache2服务,如图所示。

$ sudo apache2ctl configtest
$ sudo systemctl restart apache2

12.由于域名example.com是虚拟域(不是完全注册的域),因此您还需要通过将其添加到/ etc / hosts文件来设置本地DNS。

$ sudo vim /etc/hosts

然后在文件底部添加以下行,确保将192.168.56.101example.com替换为服务器的IP地址和本地域名。

192.168.56.101 example.com

保存该文件并退出。

13.最后打开Web浏览器并使用以下URL访问测试网站的索引页面,如屏幕截图所示。

http://example.com
测试VirtualHost网站

测试VirtualHost网站

而已! 在本文中,我们解释了如何在Ubuntu 18.04上安装Apache Web服务器。 我们还研究了如何通过systemd管理Aapche2进程,并创建并启用每个站点的虚拟主机配置。 如果您有任何疑问,请使用下面的评论表单与我们联系。