在 Ubuntu 上开启并配置 Apache2,一般按下面步骤来即可(适用于 Ubuntu 20.04 / 22.04 / 24.04)。
sudo apt update
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
查看状态:
sudo systemctl status apache2
看到 active (running) 说明已成功启动。
sudo ufw allow 'Apache Full'
或只放行 HTTP / HTTPS:
sudo ufw allow 80
sudo ufw allow 443
浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu Default Page 即成功。
/etc/apache2/
├── apache2.conf # 主配置文件
├── ports.conf # 端口配置
├── sites-available/ # 可用站点配置
├── sites-enabled/ # 已启用站点(软链接)
├── mods-available/ # 可用模块
├── mods-enabled/ # 已启用模块
└── envvars # 环境变量
网页根目录默认:
/var/www/html
sudo nano /etc/apache2/sites-available/example.conf
内容示例:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example
<Directory /var/www/example>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo mkdir -p /var/www/example
sudo nano /var/www/example/index.html
sudo a2ensite example.conf
sudo systemctl reload apache2
禁用默认站点(可选):
sudo a2dissite 000-default.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
其他常见模块:
sudo a2enmod ssl
sudo a2enmod headers
sudo a2ensite default-ssl
sudo systemctl reload apache2
正式环境建议使用:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
sudo systemctl start apache2 # 启动
sudo systemctl stop apache2 # 停止
sudo systemctl restart apache2 # 重启
sudo systemctl reload apache2 # 平滑重载
apache2ctl configtest # 配置语法检查
如果你有 具体需求(如:多站点、PHP、反向代理、Laravel、HTTPS、权限问题),可以告诉我,我可以给你一份完整可复制的配置。