[英]Apache2 create log as root and not as Apache user
我不明白為什么apache2以root
身份而不是以Apache用戶身份創建日志。 這導致了我每天都需要重新啟動服務的問題。
這是我對用戶的envvars
配置:
export APACHE_RUN_USER=myuser
export APACHE_RUN_GROUP=myuser
在apache2.conf中,我為用戶提供了標准配置:
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
當我運行/重啟apache時,我以root身份使用命令:
sudo service apache2 restart
如果您需要其他信息,我可以告訴您。
編輯apache的logrotate配置:
/var/log/apache2/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if invoke-rc.d apache2 status > /dev/null 2>&1; then \
invoke-rc.d apache2 reload > /dev/null 2>&1; \
fi;
endscript
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi; \
endscript
}
這是logrotate.d
存在的所有文件:
alternatives apache2 apport apt certbot dpkg fail2ban lxd mysql-server nginx rsyslog ufw unattended-upgrades
這里的問題很可能是您更改了操作Apache HTTP服務器所使用的用戶帳戶,而沒有相應地調整logrotation的配置:
create 640 root adm
因此, logrotate
實用程序將創建具有文件系統權限的新日志文件,您的http服務器進程將無法打開並寫入...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.