Instalei o awstats no meu novo servidor Ubuntu Lucid, mas quando o cron tenta executá-lo como usuário www-data
, ele reclama disso cannot access /var/log/apache2/access.log: Permission denied
.
Em /usr/share/doc/awstats/README.Debian
há este parágrafo:
Por padrão, o Apache armazena (desde a versão 1.3.22-1) os arquivos de log com uid = root e gid = adm, portanto, você ...
1) Altere os direitos dos arquivos de log em /etc/logrotate.d/apache para que www-data tenha pelo menos acesso de leitura.
2) Como 1), mas mude para um usuário específico e use o recurso suEXEC do Apache para executar o mesmo usuário (e altere o direito de / var / lib / awstats também ou use outro diretório). Isso é mais complicado, mas os logs geralmente não são acessíveis ao servidor (que provavelmente era o ponto do padrão do Apache).
3) Altere awstats.pl para agrupar adm (mas cuidado para que você corra o risco de permitir que um script CGI acesse as coisas de administrador na máquina!).
Eu usaria 1, mas quais são as permissões recomendadas para conceder?
chmod 755 /var/log/apache2
e chmod 644 access.log
, mas eu gostaria de uma resposta "essa é a melhor prática" :) Obrigado por comentar!
chown www-data:www-data <yourFile>
e entãochmod 655 <yourFile>
.