有的,Apache2 在 Ubuntu 上是有“模板/默认配置”的,而且官方和社区都提供了比较规范的目录结构和示例配置,下面给你一个实用的说明。
安装后,Apache2 的配置文件主要在:
/etc/apache2/
| 目录 / 文件 | 作用 |
|---|---|
apache2.conf |
主配置文件(全局) |
ports.conf |
监听端口(80 / 443) |
sites-available/ |
虚拟主机配置模板存放目录 |
sites-enabled/ |
实际启用的虚拟主机(软链接) |
mods-available/ |
可用模块配置 |
mods-enabled/ |
已启用模块 |
conf-available/ |
额外配置模板 |
conf-enabled/ |
已启用的额外配置 |
✅ Ubuntu 官方推荐方式:复制模板 → 修改 → 启用
/etc/apache2/sites-available/000-default.conf
内容是官方给的模板,例如:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
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}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
启用:
sudo a2ensite example.conf
sudo systemctl reload apache2
sudo a2enmod ssl
/etc/apache2/sites-available/default-ssl.conf
基础模板示例:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.crt
SSLCertificateKeyFile /etc/ssl/private/example.key
<Directory /var/www/example>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
启用:
sudo a2ensite default-ssl
sudo systemctl reload apache2
a2ensite / a2dissiteUbuntu 官方管理虚拟主机的方式,避免直接改主配置。
apache2ctl -S 检查配置apache2ctl -S
能看到当前加载的虚拟主机结构。
常见选择:
✅ 自己维护一套模板
✅ 社区常用模板
✅ 自动化
Ubuntu 的 Apache2 配置本身就是“模板化”的
✅sites-available是模板目录
✅sites-enabled是生效配置
✅ 复制 → 修改 →a2ensite是标准做法
如果你愿意,可以告诉我:
我可以直接给你一份可直接用的完整配置文件模板。