下面给你一份Ubuntu 上 Apache2 配置从零到可用的实操指南,按步骤来即可,适合新手和日常运维。
sudo apt update
sudo apt install apache2 -y
安装完成后,Apache 会自动启动。
查看状态:
sudo systemctl status apache2
开机自启:
sudo systemctl enable apache2
如果启用了 UFW:
sudo ufw allow 'Apache Full'
或只开 80 / 443:
sudo ufw allow 80
sudo ufw allow 443
Ubuntu 下 Apache2 的关键路径:
/etc/apache2/
├── apache2.conf # 主配置文件
├── ports.conf # 端口配置
├── sites-available/ # 可用站点配置
├── sites-enabled/ # 已启用站点(软链接)
├── mods-available/ # 可用模块
├── mods-enabled/ # 已启用模块
└── conf-available/ # 额外配置
网页根目录默认:
/var/www/html
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com
sudo nano /etc/apache2/sites-available/example.com.conf
示例配置:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
Options Indexes FollowSymLinks
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 a2dissite 000-default.conf
启用 rewrite 模块(常用):
sudo a2enmod rewrite
重启 Apache:
sudo systemctl restart apache2
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
sudo certbot renew --dry-run
查看错误日志:
sudo tail -f /var/log/apache2/error.log
测试配置文件:
sudo apache2ctl configtest
重新加载(不中断服务):
sudo systemctl reload apache2
修改端口
sudo nano /etc/apache2/ports.conf
禁止目录浏览
Options -Indexes
开启 .htaccess
AllowOverride All
如果你有具体用途(如 PHP、Laravel、反向代理、多域名、内网部署),可以告诉我,我可以给你针对性配置示例。