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

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
Check Apache Service in Ubuntu

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配置文件和目录位置的基本信息。

Check Apache Web Page

注意:如果您想使用类似tecmint.local这样的虚拟域名,而不是一个完全注册的域名,您可以在您将访问Apache默认网页的机器上使用/etc/hosts文件设置本地DNS。

$ sudo vim /etc/hosts

然后在文件底部添加以下行,确保将192.168.56.101tecmint.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.101example.com

192.168.56.101 example.com

保存并退出文件。

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

http://example.com
Test VirtualHost Website

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

Source:
https://www.tecmint.com/install-apache-web-server-on-ubuntu-18-04/