网站搜索

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


Apache HTTP服务器是一款免费、开源、功能强大、稳定可靠、应用最广泛的跨平台Web服务器,运行在Linux、Windows操作系统等类Unix系统上。它提供了许多强大的功能,包括动态可加载模块、强大的媒体支持以及与其他流行软件的巨大集成。它还可以用作其他服务器的反向代理,例如 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/
  • 网络文档根目录:/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防火墙,则需要打开端口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 配置文件和目录位置的一些基本信息。

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

sudo vim /etc/hosts

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

192.168.56.101 tecmint.local 

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

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

首先,为您的域 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 
    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是一个虚拟域(不是完全注册的域),因此您还需要通过将其添加到/来设置本地DNS etc/hosts 文件。

sudo vim /etc/hosts

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

192.168.56.101 example.com

保存文件并退出。

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

http://example.com

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