Ho installato awstats sul mio nuovo server Ubuntu Lucid, ma quando cron tenta di eseguirlo come utente www-data
, si lamenta cannot access /var/log/apache2/access.log: Permission denied
.
In /usr/share/doc/awstats/README.Debian
c'è questo paragrafo:
Per impostazione predefinita, Apache memorizza (dalla versione 1.3.22-1) i file di log con uid = root e gid = adm, quindi è necessario ...
1) Modificare i diritti dei file di log in /etc/logrotate.d/apache in modo che i dati www abbiano almeno l'accesso in lettura.
2) Come 1) ma passa a un utente specifico e usa la funzione suEXEC di Apache per eseguire lo stesso utente (e cambia anche il diritto di / var / lib / awstats o usa un'altra directory). Questo è più complicato, ma in genere i log non sono accessibili al server (che probabilmente era il punto del default di Apache).
3) Cambia awstats.pl nel gruppo admin (ma fai attenzione che stai correndo il rischio di consentire l'accesso a uno script CGI agli elementi admin sulla macchina!).
Vorrei andare con 1, ma quali sono le autorizzazioni consigliate da concedere?
chmod 755 /var/log/apache2
e chmod 644 access.log
, ma mi piacerebbe un tipo di risposta "questa è la migliore pratica" :) Grazie per averci dato una risposta!
chown www-data:www-data <yourFile>
e poichmod 655 <yourFile>
.