更改默认 Apache 日志权限

更改默认 Apache 日志权限

对于某些开发服务器,我希望使所有 Apache 日志文件都可通过 Web 访问,以便开发人员更轻松地进行调试。我已经想出了如何修改 Apache 站点配置以使默认/var/log/apache2目录可访问,但除非我手动修改目录以允许 Apache 用户访问www-data,否则文件会返回“禁止访问”错误。

看起来,在 Ubuntu 上,Apache 默认使用用户root和组来写入日志adm。如何将其更改为用户组www-data,以便 Web 用户可以读取它们?

在谷歌上搜索时,有人建议编辑 的值APACHE_RUN_GROUP/etc/apache2/envvars但它已经设置为www-data

答案1

请注意,在某些司法管辖区,IP 地址可以作为受保护的标识符。其他信息最好不要公开。保护生产日志文件,也许只有操作人员才能看到。


此外,chgrp www-data /var/log/apache2您还需要在日志文件轮换时保留其所有权。对于 Ubuntu,请编辑/etc/logrotate.d/apache2 以让 Web 服务器可读创建指令,例如 create 640 root www-data

正如之前在 Server Fault 中看到的那样: 如何让 apache 日志文件可供 apache 读取


您真正可以使用的是一个集中式日志聚合系统,该系统可以提取日志并对其进行切片和切块。任何流行的系统都会有解析 httpd 日志的方法。

答案2

正如之前的回答,将日志放在公共互联网上不是一个好主意。我使用http://pimpmylog.com/它可以确保对日志的安全访问,而且在视觉上非常不错。优点是您不需要移动默认日志位置或权限。是的,您可以用用户(任意数量)保护它们,甚至可以使用访问令牌进行远程读取。它可以读取所有类型的日志。还可以在日志更改时通知浏览器,并自动刷新。Potsky 编写的代码真是太棒了,谢谢他。

相关内容