在 Ubuntu 上配置 Apache2 是搭建 Web 服务器的常见操作,下面给你一套从零开始的完整配置步骤(含常用场景),适用于 Ubuntu 20.04 / 22.04 / 24.04。
sudo apt update
sudo apt install apache2 -y
安装完成后,Apache 会自动启动。
sudo systemctl status apache2
正常应看到 active (running)。
常用命令:
sudo systemctl start apache2 # 启动
sudo systemctl stop apache2 # 停止
sudo systemctl restart apache2 # 重启
sudo systemctl enable apache2 # 开机自启
sudo ufw allow 'Apache Full'
查看状态:
sudo ufw status
浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu Default Page 即成功 ✅
| 目录 | 作用 |
|---|---|
/var/www/html |
默认网站根目录 |
/etc/apache2 |
配置文件目录 |
sites-available |
可用站点配置 |
sites-enabled |
已启用站点 |
mods-available |
可用模块 |
mods-enabled |
已启用模块 |
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www
nano /var/www/example.com/public_html/index.html
示例内容:
<h1>Welcome to example.com</h1>
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>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf # 禁用默认站点(可选)
sudo systemctl reload apache2
sudo a2enmod rewrite
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
Directory 配置不正确sudo apache2ctl configtest
sudo netstat -tulpn | grep :80
/var/log/apache2/access.log/var/log/apache2/error.log如果你需要: ✅ PHP + Apache ✅ 多站点配置 ✅ 反向代理 ✅ Apache 性能优化 ✅ 生产环境安全配置
可以直接告诉我你的具体需求,我可以一步一步帮你定制。