Plesk schreibt in die Konfiguration der Domains in /conf/httpd.include:
CustomLog /srv/www/vhosts/(domain)/statistics/logs/access_log
ErrorLog /srv/www/vhosts/(domain)/statistics/logs/error_log
Ich möchte die Logs lieber so schreiben lassen:
CustomLog /srv/www/vhosts/(domain)/httpdocs/logs/access_log
ErrorLog /srv/www/vhosts/(domain)/httpdocs/logs/error_log
So sind auch die normalen 1+1-Accounts konfiguriert.
Im Handbuch zu Plesk gibt es eine Anleitung, wie man mit "include" eine vhost.conf hinzufügt, die solche Konfigurationen erledigen kann. Das klappt auch, die Logs werden geschrieben und mit einem Cronjob und einem selbst gebauten Logrotate-Aufruf umgeschichtet. So weit, so gut.
Allerdings: Jetzt werden _beide_ Logs geschrieben - einmal nach domain/statistics/logs und dann (neu) nach /domain/httpdocs/logs
Die "CustomLog"-Direktive in Apache ist kumulativ, d.h. bei mehreren Anweisungen werden mehrere Logfiles erzeugt.
Das brauche ich nicht; ich würde gern die Logs in /statistics abschalten und auf die Verarbeitung durch Plesk komplett verzichten, denn die Logs werden vom FTP-Benutzer heruntergeladen und lokal ausgewertet.
Es wäre eigentlich kein Problem, die Eintragungen innerhalb von /domain/conf/httpd.include zu überschreiben. Ein Skipt, das dies mit sed erledigen kann, ist schon fertig.
Allerdings steht in httpd.include eine Warnung von Plesk: Finger weg, sonst Chaos.
Mein Problem ist jetzt, dass ich eigentlich weiß, wie ich's dem Apachen beibringe, dass ich aber nicht weiß, wie Plesk auf diesen Eingriff reagieren würde. Eigentlich sind Eingriffe in diese Datei ja prinzipiell möglich; schließlich wird der Include-Befehl ja auch dort hineingeschrieben, aber man weiß ja nie.
Hat da jemand Erfahrungswerte?
Plesk 8 / Standort Apache-Logs
Re: Plesk 8 / Standort Apache-Logs
Die http.include wird von Plesk wieder überschrieben, wenn Du dran rumfummelst. Damit machst Du Dich also nicht so sonderlich glücklich...
Drei Alternativen:
Drei Alternativen:
- Du kopierst die Log-Files regelmäßig per Cron-Job und leerst dir Ursprungsdatei
- Du erlaubst für die Domain chrooted Shell-Zugriff und ziehst die Logs per SCP (dafür musst Du aber glaube ich die Berechtigung für die Logfiles anpassen, der Kunden-User darf auf das Verzeichnis AFAIK nicht zugreifen)
- Die Logfiles können "roh" über die Plesk-Oberfläche heruntergeladen werden (lässt sich aber schlecht skripten - wget dürfte wohl kaum funktionieren, da alles mit JavaScript funktioniert)
Re: Plesk 8 / Standort Apache-Logs
Der Cronjob müsste ziemlich oft laufen, damit die umkopierten Logs immer relativ frisch sind. Ich bin auf diese Idee gekommen, aber wg. Performance wollte ich das vermeiden; dies war auch der Grund dafür, dass ich die Doppelung der Logfiles abschalten wollte. Im Augenblick sind es etwas mehr als ein Dutzend Domains, ein paar stärker frequentiert, die meisten nicht so sehr. Der Apache schnarcht momentan noch und würde das mühelos schaffen, aber das kann sich ja mal ändern, und irgendwie kam es mir auch unsauber vor, Logfiles an eine Stelle schreiben zu lassen, wo ich sie gar nicht brauche.jfreund wrote:Die http.include wird von Plesk wieder überschrieben, wenn Du dran rumfummelst. Damit machst Du Dich also nicht so sonderlich glücklich...
Drei Alternativen:
- Du kopierst die Log-Files regelmäßig per Cron-Job und leerst dir Ursprungsdatei
- Du erlaubst für die Domain chrooted Shell-Zugriff und ziehst die Logs per SCP (dafür musst Du aber glaube ich die Berechtigung für die Logfiles anpassen, der Kunden-User darf auf das Verzeichnis AFAIK nicht zugreifen)
- Die Logfiles können "roh" über die Plesk-Oberfläche heruntergeladen werden (lässt sich aber schlecht skripten - wget dürfte wohl kaum funktionieren, da alles mit JavaScript funktioniert)
Zugriff auf das Plesk-Log-Verzeichnis möchte ich nicht erlauben. Wenn es nur eine Domain wäre, na ja, aber bei einem Dutzend ...
Download über die Plesk-Oberfläche - och nööö, auch nicht so gern.
Aber sicher doch. Deny from all. Nur der jeweilige FTP-Benutzer der Domain darf da dran.jfreund wrote:Allerdings solltest Du nicht außer Acht lassen, dass die logfiles unter ./httpdocs/logs über Web öffentlich zugänglich sind (es sei denn, Du schützt den Zugriff per .htaccess)
Jetzt habe ich ja noch die leise Hoffnung, dass mir jemand sagt, diese Logschreiberei sei eine Belastung im Promillebereich, die man einfach vernachlässigen kann. Käme meiner Faulheit sehr entgegen, dann lasse ich das einfach so.
Re: Plesk 8 / Standort Apache-Logs
Bei weniger start frequentierten Domains ist das sicherlich so... auch bei stark besuchten Seiten kann das nicht der Gau sein. Wenn in einer Stunde 50 MB Logfile entstehen, sind das schon gehörig viele Requests - andererseits sind 50 MB I/O pro Stunde für eine halbwegs moderne Festplatte eher Kleckerkram. Da Logfiles ja immer nur appended werden, hast Du auch keine zeitfressenden Seeks wie bei Datenbank-Updates oder Selects... Allerdings gebe ich Dir recht, wirklich sauber ist das nicht.jaylk wrote:Jetzt habe ich ja noch die leise Hoffnung, dass mir jemand sagt, diese Logschreiberei sei eine Belastung im Promillebereich, die man einfach vernachlässigen kann. Käme meiner Faulheit sehr entgegen, dann lasse ich das einfach so.
Re: Plesk 8 / Standort Apache-Logs
Letzte Überlegung:
In Plesk die Standard-Einstellung beibehalten. Dateien im Log-Verzeichnis löschen und durch Symlinks auf Dateien im httpdocs-Verzeichnis ersetzen. Einzige "Gefahr": Automatische Verarbeitung durch Webalizer... dabei werden die Log-Einträge in die entsprechenden _processed-Dateien umgeschaufelt.
In Plesk die Standard-Einstellung beibehalten. Dateien im Log-Verzeichnis löschen und durch Symlinks auf Dateien im httpdocs-Verzeichnis ersetzen. Einzige "Gefahr": Automatische Verarbeitung durch Webalizer... dabei werden die Log-Einträge in die entsprechenden _processed-Dateien umgeschaufelt.
