下面按常见需求给你一份 Ubuntu 上配置 Apache 的实用指南(以 Ubuntu 20.04 / 22.04 为例,其他版本差别不大)。
sudo apt update
sudo apt install apache2 -y
安装完成后,Apache 会自动启动。
查看状态:
sudo systemctl status apache2
启动 / 停止 / 重启:
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
sudo ufw allow 'Apache Full'
(包含 80 和 443 端口)
浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu 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/
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>
ServerName example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite example.com
sudo a2dissite 000-default
sudo systemctl reload apache2
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com
自动配置 80 → 443 跳转。
启用 rewrite:
sudo a2enmod rewrite
sudo systemctl restart apache2
查看已启用模块:
apache2ctl -M
Directory 配置DocumentRoot 路径a2ensitereload apache2如果你有具体需求(比如 PHP、Django、反向代理、多域名、本地开发),可以告诉我,我可以给你更针对性的配置。