Apache Web 服务器

学习 Apache Web Server。本模块涵盖安装 Apache HTTPD、启用用户目录、虚拟主机配置、使用 Htaccess 文件、URL 重写。您将通过实践实验室和真实世界的挑战掌握这些基本的 Linux 技能。

DevOps 工程师LinuxDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Apache 的模块化架构和按目录配置方式,使其在共享主机与传统应用中尤为常见。本动手课程介绍 Ubuntu 上的 Apache 工作流,从软件包和服务管理,逐步推进到用户站点、基于名称的虚拟主机、.htaccess、重定向和 URL 改写。

你将从默认文档根目录和用户的 public_html 提供内容,使用 Apache 辅助命令启用站点与模块,并通过 curl 验证行为。最终挑战会托管预置 legacy 站点、开放目录级覆盖、添加永久重定向,并通过内部改写提供简洁 URL。

你将学到什么

  • 安装 apache2 软件包、启动服务并在 /var/www/html 部署页面
  • 启用 mod_userdir、设置目录遍历权限并提供 ~labex 用户站点
  • 使用 a2ensite 创建并启用基于名称的 VirtualHost
  • 通过限定目录的 AllowOverride All 开放按目录配置
  • 创建 .htaccess 重定向并验证状态码和 Location 响应头
  • 启用 mod_rewrite,编写精确匹配与捕获数字参数的改写规则
  • 区分客户端可见的重定向和服务器内部 URL 改写

本课程适合谁

本中级课程适合需要在 Ubuntu 上托管或维护 Apache 站点的 Linux 管理员、DevOps 学习者、Web 开发者和支持工程师。对于站点维护者依赖 .htaccess 和简洁 URL 改写规则的共享主机与传统应用环境尤其相关。

前置要求: 掌握 Linux 终端、软件包、服务、权限、文件编辑和 sudo 基础。熟悉 HTTP 路径和状态码会有帮助。

学习环境: 使用 Apache 2、curl、预置本地站点内容以及 a2enmod、a2ensite 辅助工具的 Debian/Ubuntu 风格 LabEx Linux 终端。

常见问题

重定向练习和改写练习有什么区别?

重定向会在引导实验中返回 HTTP 302,或在最终挑战中返回永久 301,要求客户端访问另一个 URL。改写则在服务器内部转换请求,例如把 /about 映射到 index.html,或把 /product/123 映射到 product.php?id=123,浏览器无需使用内部目标地址。

为什么必须显式启用 .htaccess?

当 AllowOverride None 生效时,Apache 会忽略这些文件。你会为相关目录开放覆盖,此后修改 .htaccess 无需重启服务即可生效。这种灵活性会增加逐请求查找开销和配置面,因此集中管理的服务器通常更偏好主配置文件。

课程会讲 HTTPS、反向代理或身份认证吗?

不会。课程聚焦明文 HTTP 静态托管、用户目录、VirtualHost、重定向和改写。TLS 证书、代理模块、负载均衡、访问日志与密码认证均不在范围内。

教师

labby
Labby
Labby is the LabEx teacher.