返回博客

在 Ubuntu 18.04 上安装 Apache 服务器:操作指南

在 Ubuntu 18.04 上安装 Apache 服务器:操作指南

简介

Apache HTTP Server 是一个开源 Web 服务器,由 Apache 软件基金会。它是一款将您的本地服务器连接到网站服务器(如 Firefox 或 Google Chrome)的软件。此连接用于发送和接收文件及数据。

它是全球最受欢迎的服务器。万维网上超过 40% 的网站都由 Apache HTTP 提供支持。它之所以如此流行,原因在于其高度的可定制性、强大的集成能力以及可靠的媒体支持。Apache 基于模块化架构运行。您可以修改单个模块来添加和删除各种功能。在本教程中,我们将指导您如何在 Ubuntu 18.04 上安装 Apache 服务器。

安装之前

在开始安装 Apache 之前,您需要满足一些前提条件。首先,确保您已在本地服务器上配置了具有 sudo 权限的非 root 用户。另一件需要准备的是防火墙。您必须启用基础防火墙并阻止非必要的端口。在开始安装之前,请登录具有权限的非 root 用户。您可以按照我们的关于设置 Ubuntu 服务器的教程.

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

如果您已经满足了前提条件,就可以开始实际安装了。您可以通过以下 6 个简单步骤来安装和探索 Apache Web 服务器:

第 1 步:安装 Apache

您会很高兴地知道 Apache 已经是 Ubuntu 的一部分。这意味着您可以使用通用的包管理工具在服务器上安装 Apache。它是软件源中的默认软件。首先,您需要更新本地包索引:

此命令使最新的上游更改显示在包索引中。接下来,我们需要输入命令来安装 apache2 软件包:

第 2 步:更改防火墙设置

在准备前提条件时,您一定已经设置了 UFW 防火墙。如果您按照说明操作,您的防火墙将会阻止您访问服务器。在运行 Apache 之前,我们需要允许默认的 Web 端口访问服务器。因此,必须更改防火墙设置。

在安装时,Apache 会向 UFW 注册。注册的结果是创建了一些应用程序配置文件。此外,您可以使用这些配置文件来启用或禁用防火墙对 Apache 的访问。然后,使用以下命令查看这些 ufw 应用程序:

您将在如下列表中看到您的应用程序配置文件:

Apache Server ufw app list

上述列表显示已创建了三个应用程序配置文件,即 Apache、Apache Full 和 Apache Secure。以下是关于每个配置文件的详细信息:

  • Apache:

Apache 配置文件仅能打开 80 端口。此端口允许正常的、未加密的 Web 流量。

  • Apache Full:

Apache Full 配置文件能够同时打开 80 和 443 端口。其中 80 端口允许正常的、未加密 of Web 流量,而 443 端口则负责 TLS/SSL 加密流量。

  • Apache Secure:

最后, Apache Secure 仅打开 443 端口。如上所述,它负责允许 TLS 或 SSL 加密的 Web 流量进入。

在这些配置文件之间进行选择时,请考虑您已配置的流量。您需要确保所需的流量能够通过,同时选择限制最严格的配置文件。SSL 配置目前超出了我们的讨论范围。因此,我们目前将专注于通过 80 端口的流量。这意味着在这种情况下,我们将启用应用程序配置文件 ‘Apache’。您可以这样做:

要验证修改,请输入以下内容:

此命令将显示包含当前允许通过的 HTTP 流量的输出。您将看到类似以下的内容:

Apache Server firewall status

流量显示所需的 Apache 配置集已被激活。已允许通过防火墙访问 Web 服务器。

步骤 3:检查您的 Web 服务器

Apache 的安装已完成,防火墙设置也已修改。在此过程结束时,Ubuntu 18.04 将自动启动 Apache。接下来,您需要使用 systemd 初始化系统检查该服务在任何给定时刻是否正在运行。如果您想了解更多关于初始化系统的信息,可以查看我们的关于如何使用 Systemctl 管理 Systemd 服务和单元的教程。要检查服务是否正在运行,请键入:

输出将如下所示:

apache2 status

您需要在上方查找服务的 Active(活动)或 running(运行中)状态。这表明服务已启动并成功运行。还有另一种更优的方法来测试服务的功能。您可以通过向 Apache 请求页面来检查其状态。使用服务器的 IP 地址,您可以确认该软件是否在默认的 Apache 落地页上运行。如果您还不知道服务器的 IP 地址,可以使用以下提示来获取它:

此命令将显示包含多个以空格分隔的 IP 地址的结果。在浏览器中逐个测试。另一种访问方式是获取您的公网 IP 地址。您可以使用如下提示:

这将向您显示在网络上其他位置看到的您的 IP 地址。接下来,一旦您获得了 IP 地址,请打开您的 Web 浏览器。在 address 栏中,输入并运行以下内容:

这将打开默认的 Ubuntu 18.04 Apache 网页。它看起来像这样:

ubuntu homepage

此页面包含有关您的文件和目录的一些基本信息。由于它在输入地址后即启动,这表明 Apache 运行正常。

步骤 4:Apache 中的基本管理

验证确认了 Apache 正在运行且您的服务器处于工作状态。现在,我们将探索一些您可以在服务器上用于管理的基本命令。

Apache 的默认配置使其在服务器启动时自动启动。您可以选择禁用此设置。键入:

要重新激活此默认功能,请使用以下命令:

接下来,如果您想手动停止服务器,请键入以下内容:

如果您在停止它之后想重新启动它,请使用以下命令:

要停止并启动服务器,或者从本质上刷新它,请键入:

当您停止服务器时,它往往会丢失所有连接。重新启动它意味着它会再次寻找并链接这些连接。如果需要,您也可以在不丢失连接的情况下重新加载 Apache。这在进行配置更改时特别有用。键入以下内容以在不中断连接的情况下重新加载:

步骤 5:虚拟主机设置

虽然这不是强制性的,但强烈建议您设置虚拟主机。虚拟主机是服务器中的一些小区块,其中包含成组的配置详细信息。您可以从您的服务器在单个虚拟主机上托管多个域名。

默认情况下,如果您在 Ubuntu 18.04 上使用 Apache,将有一个已激活的服务器块,用于处理 /var/www/html 目录中的文档。如果您要托管多个网站而不是单个网站,您会希望更改此设置。然而,还有另一个效果更好的可行选择。保持 /var/www/html 目录不变。相反,转到 /var/www/ 为您所需域名上的网站构建目录结构。如果这样做,/var/www/html 目录将被配置为默认目录。如果客户端请求与您域名上的任何网站都不匹配,它们将从此目录中提供服务。

之后,我们将了解如何创建新域名及其关联目录。为了本示例,我们将使用一个假设的名称 your_domain。在后续说明中,将所有出现的 your_domain 替换为您自己的域名。首先,让我们看看如何为 your_domain 创建一个新目录:

现在,您必须分配该目录的所有权。为此,您可以使用 $USER 环境变量:

要继续操作,您的 Web 根目录权限必须正确。如果您没有更改配置中的 unmask 值,您的权限应该没有问题。但如果您不确定,可以随时通过以下命令进行确认:

接下来,我们将创建一个 index.html 页面。如果您有偏好,可以像我们一样使用 nano 或任何其他编辑器:

在 index 中添加此示例 HTML,然后保存并关闭:

下一步是创建虚拟主机文件。要让 Apache 提供上述示例内容,需要一个包含所有正确指令的虚拟主机文件。默认配置文件位于:/etc/apache2/sites-available/000-default.conf。我们将不修改该文件,而是在以下位置新建一个文件:/etc/apache2/sites-available/your_domain.conf。

与之前类似,我们将添加一个配置示例。然而,这一次我们将根据域名和我们刚刚创建的新目录对其进行更新。添加此块,然后保存并关闭:

如您在上方所见,我们还更新了 ServerAdmin 电子邮件。这是 your_domain 网站管理员可以联系的地址。不仅如此,我们还将 DocumentRoot 更新为了新目录,并添加了两个新指令。这些指令包括 ServerName 和 ServerAlias。ServerName 用于设置基础域名。基础域名必须匹配才能定义虚拟主机。另一方面,ServerAlias 提供了其他也应该匹配的名称,类似于基础名称。您可以使用 a2ensite 工具轻松启用该文件:

要禁用 000-default.conf 中提到的默认网站,请使用以下命令:

现在配置已就绪,您可以通过输入以下命令来检查错误:

如果没有配置错误,将显示以下输出:

要应用更改,您必须按照之前的指示重新启动 Apache 服务器:

瞧!您已经设置好了虚拟主机并设置了域名。要检查 Apache 是否确实在为您服务的 your_domain 提供服务,请访问 http://your_domain。

步骤 6:浏览文件和目录

您已成功对 Apache 服务器进行了一些基本配置。此外,您也了解了如何管理 Apache 服务。接下来,您可以花一些时间探索一些最关键的目录和文件。

内容
  • /var/www/html

我们之前也讨论过这个目录。它包含默认的 Apache 页面。如果您愿意,可以更改此页面的内容。为此,您必须修改 Apache 配置文件。

服务器配置

 

  • /etc/apache2

这是 Apache 的主配置目录。这意味着该目录包含与 Apache 相关的所有配置文件。

  • /etc/apache2/apache2.conf

正如目录末尾的附加内容所暗示的,这是主配置文件。该文件加载了目录中的其他几个文件,可用于修改 Apache 配置。如果您想对 Apache 服务器的配置进行任何更改,这就是您进行修改的地方。

  • /etc/apache2/ports.conf

顾名思义,该文件与我们之前讨论过的端口有关。默认情况下启用端口 80,当引入包含 SSL 的模块时激活端口 443。该文件包含有关哪些端口已打开并启用的详细信息。

  • /etc/apache2/sites-available/

这是您的虚拟主机所在的位置。所有要完成的服务器块配置都在此目录中进行。要启用服务器块,必须通过 a2ensite 将它们链接到其他目录。只有通过链接到 sites-enabled 目录启用了该目录中的文件,Apache 才能访问这些文件。

  • /etc/apache2/sites-enabled/

这是已启用的虚拟主机所在的目录。正如我们所提到的,当您通过 a2ensite 命令链接 sites-available 目录中的文件时,主机就会被启用。该目录中的文件对于 Apache 启动、重新加载或编译配置非常重要。

  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/

这些目录的工作方式与 sites-available 和 sites-enabled 类似。要启用 conf-available 目录中的文件,必须使用 a2enconf 命令。禁用命令是 a2disconf。这些目录不存储每个站点的虚拟主机,而是包含与虚拟主机无关的配置详细信息:

  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/

这些目录也具有类似于上述两个示例的关系。它们包含模块,包括可用的模块以及通过 a2enmod 命令启用的模块。要禁用模块,可以使用 a2dismod 命令。带有 .load 后缀的文件包含可以加载给定模块的片段。带有 .conf 后缀的文件保存给定模块的相关配置详细信息。

服务器日志

 

  • /var/log/apache2/access.log

此日志文件包含对您服务器的所有请求。默认情况下会发生这种情况。您可以选择配置 Apache 以不同的方式记录请求。

  • /var/log/apache2/error.log

这是错误日志。默认情况下,您犯的所有错误都会直接记录到此文件中。您可以通过 LogLevel 指令查看记录错误日志的详细程度。

结论

最后,通过按照上述步骤操作,您可以在 Ubuntu 18.04 上轻松安装 Apache Web 服务器。一旦您的系统上安装了该服务器,您就可以探索该平台上的各种选项。您可以使用不同的技术来制作各种内容。通过这种方式,您可以在服务器上为自己培养独特且便利的体验。

您还可以学习 如何使用 Let’s Encrypt 保护您的 Apache 服务器,只需按照我们的分步教程操作即可。如果您想了解如何在 CentOS 7 上安装 Apache,请参考我们的 关于如何在 CentOS 7 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈的教程.

祝您计算愉快!

author

Akshay Nagpal

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。