Na maioria das configurações:
- awstats é executado como seu usuário do apache www-data ;
- os arquivos de log do apache são de propriedade de root: adm e possuem
-rw-r ----- (aka: chmod 640 ) permissões; e
-
as configurações de propriedade e permissões podem ser encontradas no arquivo
/etc/logrotate.d/apache2 , cujo conteúdo é:
/var/log/apache2/*.log {
daily
missingok
rotate 60
compress
delaycompress
notifempty
dateext
create 640 root adm
sharedscripts
postrotate
/etc/init.d/apache2 reload > /dev/null
endscript }
A solução mais simples é:
1) Altere " crie 640 adm de raiz " para " crie adm de root 644 " em /etc/logrotate.d/apache2 usando seu editor de texto favorito ou, se precisar rotear tudo:
sudo sed -i 's/create 640 root adm/create 644 root adm/g' /etc/logrotate.d/apache2
2) Altere as permissões em /var/log/apache2/access.log e /var/log/apache2/error.log para 644 .
sudo chmod 644 /var/log/apache2/access.log /var/log/apache2/error.log
3) Reinicie o apache.
sudo apachectl -k graceful
Eu vi pessoas adicionando o www-data ao grupo de usuários adm como uma solução. Isso significa muito mais permissões para www-data do que me sinto confortável.
Outras opções mais seguras envolvem a criação de um novo usuário & amp; grupos para awstats e fazendo awstats executar / executar como este novo usuário / grupo.