在 Ubuntu 上开启 Apache 日志(访问日志和错误日志)通常只需要确认 Apache 的配置文件是否正确即可,因为默认情况下 Apache 是开启日志的。下面按常见情况说明。
Ubuntu 中 Apache 日志一般在:
/var/log/apache2/
常见文件:
access.log:访问日志error.log:错误日志other_vhosts_access.log:虚拟主机访问日志查看主配置文件:
cat /etc/apache2/apache2.conf
一般会有类似内容:
ErrorLog ${APACHE_LOG_DIR}/error.log
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog ${APACHE_LOG_DIR}/access.log common
如没有,可手动添加。
编辑站点配置:
sudo nano /etc/apache2/sites-available/000-default.conf
确保包含:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
combined是常用日志格式,比common更详细。
查看可用格式:
grep LogFormat /etc/apache2/apache2.conf
常见格式:
combined(推荐)commonsudo systemctl restart apache2
访问网站后查看:
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
Apache 会自动创建,但目录必须存在:
ls /var/log/apache2
权限问题修复:
sudo chown -R www-data:adm /var/log/apache2
检查是否加载了日志模块:
apache2ctl -M | grep log
应包含:
log_config_module (shared)
ErrorLog ${APACHE_LOG_DIR}/error.log
# CustomLog 行删除或注释
✅ Ubuntu Apache 默认开启日志
✅ 日志位置:/var/log/apache2/
✅ 在 虚拟主机配置 中控制最清晰
✅ 修改后记得 systemctl restart apache2
如果你需要 按虚拟主机分开日志、关闭日志 或 日志切割(logrotate),可以继续问我。