在 Ubuntu 上适配并配置 Apache2,通常包含安装、目录结构、虚拟主机、防火墙、PHP/HTTPS 等常见步骤。下面按从零到可用给你一个完整适配指南(适用于 Ubuntu 20.04 / 22.04 / 24.04)。
sudo apt update
sudo apt install apache2 -y
安装完成后,Apache 会自动启动。
查看状态:
systemctl status apache2
启动 / 停止 / 重启:
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
Ubuntu 的 Apache2 和 CentOS 不一样,配置是模块化的:
/etc/apache2/
├── apache2.conf # 主配置文件
├── ports.conf # 端口配置
├── sites-available/ # 可用站点(虚拟主机)
├── sites-enabled/ # 已启用站点(软链接)
├── mods-available/ # 可用模块
├── mods-enabled/ # 已启用模块
├── conf-available/ # 额外配置
├── conf-enabled/ # 已启用配置
✅ Ubuntu 不建议直接改 apache2.conf
默认站点:
/etc/apache2/sites-available/000-default.conf
默认网站根目录:
/var/www/html
测试是否成功: 浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu Default Page 即成功。
sudo cp /etc/apache2/sites-available/000-default.conf \
/etc/apache2/sites-available/example.conf
编辑:
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
echo "Hello Apache" | sudo tee /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
Laravel / WordPress / ThinkPHP 都需要
sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload
查看状态:
sudo ufw status
sudo apt install php libapache2-mod-php php-cli php-mysql -y
测试:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问:
http://IP/info.php
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache
自动配置:
手动续期:
sudo certbot renew
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www
sudo netstat -tlnp | grep 80
sudo apache2ctl configtest
✔ 使用 sites-available + a2ensite
✔ 不修改 apache2.conf
✔ 每个站点一个配置文件
✔ 使用 www-data 用户运行
✔ 生产环境务必 HTTPS
如果你有具体场景(如:
✅ Laravel / WordPress / 前后端分离
✅ 多域名 / 反向代理
✅ 内网 / Docker / 云服务器
可以直接告诉我,我可以给你针对性配置方案。