下面给你一份在 Ubuntu 上配置 Apache 的完整常见流程(从安装到常用配置),适用于 Ubuntu 20.04 / 22.04 / 24.04。如果你有更具体的需求(虚拟主机、HTTPS、PHP、反向代理等),可以再继续深入。
sudo apt update
sudo apt install apache2 -y
安装完成后,Apache 会自动启动。
检查状态:
sudo systemctl status apache2
如果未启动:
sudo systemctl start apache2
sudo systemctl enable apache2
如果启用了 ufw:
sudo ufw allow 'Apache Full'
验证:
sudo ufw status
浏览器访问服务器 IP,若看到 Apache2 Default Page,说明安装成功。
| 路径 | 说明 |
|---|---|
/var/www/html |
默认网站根目录 |
/etc/apache2/apache2.conf |
主配置文件 |
/etc/apache2/sites-available/ |
可用站点配置 |
/etc/apache2/sites-enabled/ |
已启用站点(软链接) |
/etc/apache2/mods-available/ |
可用模块 |
/etc/apache2/mods-enabled/ |
已启用模块 |
/var/log/apache2/ |
日志目录 |
sudo mkdir -p /var/www/example.com/public_html
echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html
sudo nano /etc/apache2/sites-available/example.com.conf
内容示例:
<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>
sudo a2ensite example.com.conf
sudo systemctl reload apache2
常用于 WordPress、Laravel 等:
sudo a2enmod rewrite
sudo systemctl restart apache2
并在 <Directory> 中确保:
AllowOverride All
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
Certbot 会自动:
证书自动续期测试:
sudo certbot renew --dry-run
sudo systemctl start apache2 # 启动
sudo systemctl stop apache2 # 停止
sudo systemctl restart apache2 # 重启
sudo systemctl reload apache2 # 平滑重载
sudo apache2ctl configtest # 检查配置
sudo chown -R www-data:www-data /var/www/example.com
sudo apache2ctl configtest
sudo systemctl reload apache2
sudo netstat -tlnp | grep 80
你可以直接告诉我:
我可以给你一份完全针对你场景的 Apache 配置方案。