PHP Logging

Apache, Lighttpd, nginx, Cherokee
klerfrq
Posts: 38
Joined: 2004-08-04 19:54

PHP Logging

Post by klerfrq » 2007-05-25 12:40

Hallo zusammen,

in PHP will ich das Logging in ein Logfile aktivieren. Der Apache läuft als www-data:www-data. Das von der Paketverwaltung installierte PHP wird als Modul geladen und läuft auf einem Debian Etch System. Das Log-File liegt nun unter /var/log/apache2/php.log mit dem Besitzer www-data:www-data und den Rechten 775.

Das ist aber denke ich nicht so, wie es im Lehrbuch geschrieben steht. Die Frage ist nur, als welcher Benutzer schreibt PHP bzw. Apache dort die Datein rein, um der Datei soviele Rechte wie möglich zu entziehen.

Die zweite Sache ist dann das Logfile Rotation - Standard mäßig wird das komplette /var/log/apache2/*.log routiert und dann neue Dateien angelegt, jedoch haben die dann die Besitzer root:adm mit den Rechten 640. Wäre es dann sinnvoll nach der Rotation jedesmal (automatisch versteht sich) die Rechte richtig zu setzen?

Viele Grüße
-klerfrq-

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: PHP Logging

Post by Roger Wilco » 2007-05-25 14:13

klerfrq wrote:Das ist aber denke ich nicht so, wie es im Lehrbuch geschrieben steht.
Geht mit deinem Setup aber nicht anders.
klerfrq wrote:Die Frage ist nur, als welcher Benutzer schreibt PHP bzw. Apache dort die Datein rein, um der Datei soviele Rechte wie möglich zu entziehen.
www-data:www-data :roll:
klerfrq wrote:Wäre es dann sinnvoll nach der Rotation jedesmal (automatisch versteht sich) die Rechte richtig zu setzen?
Ja, sonst kann mod_php nicht mehr in die Datei schreiben. Das geht aber sehr einfach in der logrotate Konfiguration.

klerfrq
Posts: 38
Joined: 2004-08-04 19:54

Re: PHP Logging

Post by klerfrq » 2007-05-25 16:48

Ok, Danke Roger Wilco, so habe ich es mitlerweile auch gelöst. Habe hinter allen Befehlen einfach folgende zwei Zeilen hinzugefügt:

Code: Select all

chown www-data:www-data /var/log/apache2/php*
chmod 775 /var/log/apache2/php*

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: PHP Logging

Post by Roger Wilco » 2007-05-25 16:54

klerfrq wrote:Habe hinter allen Befehlen einfach folgende zwei Zeilen hinzugefügt
Das ist eigentlich unnötig. Logrotate unterstützt von Haus aus die Erstellung der Logdateien unter einem anderen Benutzer. (`man logrotate` -> "create mode owner group").

juergen
Posts: 133
Joined: 2004-03-30 14:44

Re: PHP Logging

Post by juergen » 2007-05-25 17:59

klerfrq wrote:Hallo zusammen,

in PHP will ich das Logging in ein Logfile aktivieren. Der Apache läuft als www-data:www-data. Das von der Paketverwaltung installierte PHP wird als Modul geladen und läuft auf einem Debian Etch System. Das Log-File liegt nun unter /var/log/apache2/php.log mit dem Besitzer www-data:www-data und den Rechten 775.

Das ist aber denke ich nicht so, wie es im Lehrbuch geschrieben steht. Die Frage ist nur, als welcher Benutzer schreibt PHP bzw. Apache dort die Datein rein, um der Datei soviele Rechte wie möglich zu entziehen.
Du musst nicht dass error_log in der php.ini definieren. Du kannst auch das ErrorLog im Apache Server/VirtualHost definieren, dieses wird schon beim Apache-Start geöffnet und hat sichere Permissions. Alternativ kannst du auch mit syslog loggen.

Grüße,

Jürgen

sllnd
Posts: 177
Joined: 2002-10-14 22:33

Re: PHP Logging

Post by sllnd » 2007-05-30 14:24

In den normalen ErrorLogs vom Apache werden aber keine PHP Fehler angezeigt.
Ich denke - ich werde eine extra Instanz im Logrotate für die PHP Log anlegen müssen, dennoch mit den Rechten www-data, da sonst die Datei nicht beschrieben werden kann.

juergen
Posts: 133
Joined: 2004-03-30 14:44

Re: PHP Logging

Post by juergen » 2007-05-30 21:25

SllnD wrote:In den normalen ErrorLogs vom Apache werden aber keine PHP Fehler angezeigt.
Aber sicher: Wenn du kein error_log definierst, landen die Fehlerausgaben auf stderr, und damit im Apache error log.