安装 Apache HTTPD

LinuxBeginner
立即练习

简介

Apache HTTP Server(通常简称为 Apache)是一款应用广泛的 Web 服务器软件。它在早期 Web 的发展过程中发挥了重要作用,如今仍然是 Linux 管理中的重要组成部分。

Apache 之所以具有特别重要的影响力,得益于其悠久的历史、丰富的模块生态和灵活的配置模型。许多 Linux 系统、教程和旧版应用至今仍然高度依赖 Apache。

这段历史积累非常重要,因为在实际运维工作中,即使新项目选择了其他 Web 服务器,你也经常会接手基于 Apache 的系统。

你可以把 Web 服务器想象成一名图书管理员:

  • 图书馆就是你的服务器。
  • 书籍就是你的文件(HTML 页面、图片等)。
  • 图书管理员就是 Apache。

当用户访问你的网站时,就像是在向图书管理员请求一本特定的书。图书管理员找到对应文件后,再将它交给用户。

在本实验中,你将完成以下任务:

  1. 安装 Apache:将软件安装到系统中。
  2. 启动服务:启动服务器,使其能够处理请求。
  3. 探索文档根目录:找到网站文件的存储位置。
  4. 部署自定义页面:创建自己的「Hello World」网页。

本实验面向完全初学者,无需任何先前经验。

安装 Apache HTTP Server

在此步骤中,你将安装 Apache Web 服务器软件。

在 Ubuntu 和基于 Debian 的系统中,Apache 软件包名为 apache2。在 CentOS 或 RHEL 等其他发行版中,它通常称为 httpd。由于本环境使用 Ubuntu,因此将使用 apache2。

运行以下命令安装 Apache:

和 Nginx 一样,安装软件包会将软件和默认配置文件添加到系统中。但仅完成安装,并不能证明服务器已经运行并能正确处理请求。

sudo apt install apache2 -y
  • sudo:以管理员权限运行命令。
  • apt install:用于安装软件包的命令。
  • -y:自动对提示回答「yes」。

安装完成后,验证已安装的版本,确认安装过程成功:

apache2 -v

你应该会看到类似 Server version: Apache/2.4.x 的输出,这表示 Apache 已安装。

启动 Apache 服务

Apache 安装完成后,需要启动服务。仅安装软件不会自动启动 Web 服务器进程。

这与之前接触其他守护进程时一样,需要区分「软件已安装」和「服务正在运行」。服务器软件包可能已经存在于磁盘上,但没有进程主动监听 HTTP 流量。

使用 service 命令启动 Apache 服务:

sudo service apache2 start

然后,检查服务是否正在运行:

sudo service apache2 status

你应该会看到表明 apache2 is running 的消息。

在生产环境中,通常会使用 systemctl enable apache2 将 Apache 配置为服务器启动时自动运行。不过,在本实验环境中,手动启动服务即可。

探索文档根目录

Apache 需要知道从哪里查找网站文件。这个位置称为文档根目录(Document Root)。

在 Ubuntu 中,文档根目录默认位于 /var/www/html。安装 Apache 时,它会在此目录中放置一个默认的「It works!」HTML 文件。

文档根目录是 Apache 提供静态内容时的默认起点。在没有特殊路由或应用逻辑的情况下,请求通常会解析为此目录下的文件。

进入文档根目录:

cd /var/www/html

列出目录中的文件:

ls -l

你应该会看到名为 index.html 的文件。访问 Web 服务器地址时,服务器就会提供这个文件。

部署自定义网页

现在,你将使用自己的自定义消息替换 Apache 的默认页面。

由于 /var/www/html 的所有者是 root 用户,因此需要使用 sudo 修改此目录中的文件。下面使用一个简单的命令覆盖现有的 index.html。

运行以下命令,创建包含「Hello LabEx」内容的新 index.html 文件:

echo "Hello LabEx" | sudo tee /var/www/html/index.html
  • echo "Hello LabEx":生成文本「Hello LabEx」。
  • |:将这段文本通过管道传递给下一个命令。
  • sudo tee ...:使用 root 权限,将接收到的输入写入指定文件。

验证文件内容:

cat /var/www/html/index.html

最后,向 localhost(当前计算机)发起请求,测试 Web 服务器:

curl localhost

你应该会在输出中看到 Hello LabEx。这表示 Apache 正在运行,并且正在提供你的自定义页面。

此时,你已经验证了 Web 服务的完整链路,这与其他 Web 服务的验证过程相同:程序已安装、守护进程正在运行、文件已放置到文档根目录,并且 HTTP 响应已到达客户端。

总结

在本实验中,你已成功安装并配置 Apache HTTP Server。你学习了如何:

  • 在 Ubuntu 上安装 apache2 软件包。
  • 启动 Apache 服务并检查其状态。
  • 进入默认文档根目录 /var/www/html。
  • 使用自己的内容替换默认的 index.html。

这些是 Web 服务器管理的基础步骤。现在,你已经拥有一个能够托管静态网页的正常运行的 Web 服务器。