Apache HTTP 服务器是一个免费、开源、强大、稳定、可靠且最广泛使用的跨平台网络服务器,可在类Unix系统如Linux和Windows操作系统上运行。它提供许多强大功能,包括动态加载模块、强大的媒体支持以及与其他流行软件的广泛集成。它还可作为其他服务器的反向代理,例如应用服务器如Nodejs、Python等。
在本文中,我们将解释如何在Ubuntu 18.04上安装Apache网络服务器。我们还将介绍如何通过systemd管理Apache服务,并创建虚拟主机以设置网站。
第1步:在Ubuntu 18.04上安装Apache
1. Apache可从官方Ubuntu软件仓库获取,首先更新系统的软件包索引,然后使用APT软件包管理器安装Apache软件包及其依赖项。
$ sudo apt update $ sudo apt install apache2
安装成功后,请记下这些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文档根目录:/var/www/html/。
- 日志文件(错误和访问日志)目录:/var/log/apache/。
2. Apache安装过程后,Web服务器服务应该自动启动,您可以使用以下命令检查是否正在运行。
$ sudo systemctl status apache2

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防火墙,您需要打开端口80和443以允许客户端通过HTTP和HTTPS访问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配置文件和目录位置的基本信息。

注意:如果您想使用类似tecmint.local
这样的虚拟域名,而不是一个完全注册的域名,您可以在您将访问Apache默认网页的机器上使用/etc/hosts文件设置本地DNS。
$ sudo vim /etc/hosts
然后在文件底部添加以下行,确保将192.168.56.101和tecmint.local替换为您服务器的IP地址和本地域名。
192.168.56.101 tecmint.local
第3步:在Ubuntu 18.04上设置Apache虚拟主机
6.接下来,我们将解释如何在Apache HTTP服务器中创建虚拟主机(类似于Nginx服务器块)以托管您的网站。例如,如果您有一个名为example.com
的站点,希望使用Apache在您的VPS上托管它,您需要在/etc/apache2/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
然后在文件底部添加以下一行,请确保用您服务器的IP地址和本地域名替换192.168.56.101和example.com。
192.168.56.101 example.com
保存并退出文件。
13.最后,打开Web浏览器,使用以下URL访问测试站点的索引页面,如屏幕截图所示。
http://example.com

就是这样!在本文中,我们已经解释了如何在Ubuntu 18.04上安装Apache Web服务器。我们还看了如何通过systemd管理Aapche2进程,并创建和启用每个站点的虚拟主机配置。如果您有任何疑问,请使用下面的评论表格与我们联系。
Source:
https://www.tecmint.com/install-apache-web-server-on-ubuntu-18-04/