Ich habe awstats auf meinem neuen Ubuntu Lucid-Server installiert, aber wenn cron versucht, es als Benutzer auszuführen www-data, beschwert es sich darüber cannot access /var/log/apache2/access.log: Permission denied.
In /usr/share/doc/awstats/README.Debiandiesem Absatz steht:
Standardmäßig speichert Apache (seit Version 1.3.22-1) Protokolldateien mit uid = root und gid = adm. Sie müssen also entweder ...
1) Ändern Sie die Rechte der Logfiles in /etc/logrotate.d/apache so, dass www-data mindestens Lesezugriff hat.
2) Wie 1), aber wechseln Sie zu einem bestimmten Benutzer und verwenden Sie die suEXEC-Funktion von Apache, um denselben Benutzer auszuführen (und ändern Sie entweder auch das Recht von / var / lib / awstats oder verwenden Sie ein anderes Verzeichnis). Dies ist komplizierter, aber dann sind die Protokolle für den Server nicht allgemein zugänglich (was wahrscheinlich der Grund für den Apache-Standard war).
3) Ändern Sie awstats.pl in group adm (aber achten Sie darauf, dass Sie das Risiko eingehen, einem CGI-Skript Zugriff auf Admin-Inhalte auf dem Computer zu gewähren!).
Ich würde mit 1 gehen, aber was sind die empfohlenen Berechtigungen zu gewähren?
chmod 755 /var/log/apache2und chmod 644 access.log, aber ich hätte gerne eine "das ist die beste Übung" -Antwort :) Vielen Dank, dass Sie sich angemeldet haben!
chown www-data:www-data <yourFile>und dannchmod 655 <yourFile>.