下面按常见场景给你讲怎么在 Ubuntu 上配置 Apache(以 Ubuntu 20.04 / 22.04 为例,其他版本差别不大)。
sudo apt update
sudo apt install apache2 -y
安装完成后,Apache 会自动启动。
查看状态:
systemctl status apache2
浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu Default Page 说明成功。
| 路径 | 作用 |
|---|---|
/var/www/html |
默认网站根目录 |
/etc/apache2/ |
Apache 配置目录 |
/etc/apache2/sites-available/ |
虚拟主机配置 |
/etc/apache2/sites-enabled/ |
已启用的站点 |
/etc/apache2/mods-available/ |
可用模块 |
/etc/apache2/mods-enabled/ |
已启用模块 |
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com
nano /var/www/example.com/public_html/index.html
内容示例:
<h1>Hello example.com</h1>
sudo nano /etc/apache2/sites-available/example.com.conf
内容:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName 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
如果开了 UFW:
sudo ufw allow 'Apache Full'
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com
自动配置 80 → 443 跳转。
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
sudo systemctl reload apache2
sudo apache2ctl configtest # 检查配置是否正确
如果你告诉我:
✅ Ubuntu 版本
✅ 用途(PHP / 静态 / 反向代理)
✅ 是否用域名
我可以给你 精准配置示例。