簡體   English   中英

Apache2以root用戶而不是Apache用戶身份創建日志

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM