Ubuntu系统安装Apache服务教程
-
-
- [🚀 第一步:安装与启动 Apache](#🚀 第一步:安装与启动 Apache)
- [🔥 第二步:配置防火墙 (UFW)](#🔥 第二步:配置防火墙 (UFW))
- [✅ 第三步:验证安装](#✅ 第三步:验证安装)
- [📂 第四步:了解核心目录](#📂 第四步:了解核心目录)
- [🌐 第五步:配置虚拟主机 (多站点)](#🌐 第五步:配置虚拟主机 (多站点))
- [🔒 第六步:启用 HTTPS (可选但推荐)](#🔒 第六步:启用 HTTPS (可选但推荐))
- [🛠️ 常用命令与排错速查](#🛠️ 常用命令与排错速查)
-
🚀 第一步:安装与启动 Apache
-
更新软件包列表
首先,刷新本地的软件包索引,确保能获取到最新的版本信息。bashsudo apt update

-
安装 Apache
执行安装命令。
-y参数表示自动确认,省去手动输入"Y"的步骤。bashsudo apt install apache2 -y安装完成后,Apache 服务通常会自动启动。

-
管理 Apache 服务
你可以使用
systemctl命令来管理 Apache 的运行状态:- 查看状态 :
sudo systemctl status apache2,看到active (running)字样即为正常。 - 启动/停止/重启 :
sudo systemctl start/stop/restart apache2。 - 设置开机自启 :
sudo systemctl enable apache2。 - 平滑重载配置 :在不中断服务的情况下重新加载配置文件,
sudo systemctl reload apache2。
- 查看状态 :
🔥 第二步:配置防火墙 (UFW)
如果你的 Ubuntu 启用了 UFW 防火墙,需要放行 HTTP (80) 和 HTTPS (443) 端口,否则外部无法访问网站。
最简便的方法是使用 Apache 预置的应用配置文件:
bash
sudo ufw allow 'Apache Full'
这条命令会同时放行 80 和 443 端口。执行后,可以用 sudo ufw status 查看规则是否生效。
✅ 第三步:验证安装
打开浏览器,访问你的服务器 IP 地址:
http://你的服务器IP
如果看到 "Apache2 Ubuntu Default Page" 的欢迎页面,就说明 Apache 已经成功安装并运行了。
📂 第四步:了解核心目录
熟悉 Apache 在 Ubuntu 下的文件结构,对后续配置很有帮助:
| 路径 | 作用 |
|---|---|
/var/www/html |
默认网站根目录,你的网站文件(如 HTML、PHP)就放在这里 |
/etc/apache2/apache2.conf |
主配置文件,包含全局设置 |
/etc/apache2/sites-available/ |
可用站点配置目录,存放虚拟主机的配置文件 |
/etc/apache2/sites-enabled/ |
已启用站点 目录,存放指向 sites-available 中配置文件的软链接 |
/etc/apache2/mods-available/ |
可用模块目录 |
/etc/apache2/mods-enabled/ |
已启用模块目录 |
/var/log/apache2/ |
日志目录 ,包含 access.log (访问日志) 和 error.log (错误日志) |
🌐 第五步:配置虚拟主机 (多站点)
虚拟主机允许你在同一台服务器上托管多个网站。以下是一个配置示例,假设域名为 example.com。
-
创建网站目录和测试页面
bashsudo mkdir -p /var/www/example.com/public_html sudo chown -R $USER:$USER /var/www/example.com echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html -
创建虚拟主机配置文件
使用
nano或vim创建配置文件:bashsudo nano /etc/apache2/sites-available/example.com.conf将以下内容粘贴进去(注意替换为你自己的域名和路径):
apache<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html <Directory /var/www/example.com/public_html> AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost> -
启用新站点并重载 Apache
bashsudo a2ensite example.com.conf sudo systemctl reload apache2如果需要禁用默认站点,可以执行
sudo a2dissite 000-default.conf。
🔒 第六步:启用 HTTPS (可选但推荐)
使用 Let's Encrypt 的免费证书来启用 HTTPS 是最佳实践。
-
安装 Certbot 及其 Apache 插件
bashsudo apt install certbot python3-certbot-apache -y -
自动获取并安装证书
将example.com替换为你的域名:bashsudo certbot --apache -d example.com -d www.example.comCertbot 会自动修改 Apache 配置,申请证书,并设置 HTTP 到 HTTPS 的自动跳转。
🛠️ 常用命令与排错速查
-
检查配置语法 :修改配置后,先用此命令检查有无语法错误,再重启服务。
bashsudo apache2ctl configtest -
403 Forbidden 错误 :通常是文件权限问题,确保
www-data用户对网站目录有读取权限。bashsudo chown -R www-data:www-data /var/www/你的网站目录 -
端口被占用 :如果启动失败,检查 80 端口是否被其他程序(如 Nginx)占用。
bashsudo netstat -tlnp | grep :80