debugging apache2

Berthold Cogel cogel at uni-koeln.de
Fr Mai 14 09:22:15 CEST 2010


Am 12.05.2010 20:06, schrieb Stefan Marx:
> Gute Abend, liebe Listlinge,
> 
> habe eine konkrete Frage zum famosen open source Tool im Betreff. Ich  möchte
> einen Apache2 http Server so konfigurieren, dass alle eintreffenden Request 
> komplett mit Inhalte geloggt werden und alle -- alle -- kleinsten Unpässlich- 
> keiten des Servers im error_log landen.
> Habe den Debug Level auf =debug gesetzt, ohne dass das gewünschte Log-
> Verhalten erreicht wurde. Any suggestions on this?
> 
> Vielen Dank fürs Lesen, noch mehr fürs Schreiben und einen schönen Feier-
> tag für alle ;=),
> 
> Liebe Grüße aus Nippes,
> 
> cu Stefan

So weit ich mich erinnere, dürftest Du keine Chance haben, auch die
Inhalte zu loggen. Dazu müßtest Du vermutlich den Apache patchen.
Eventuell kannst Du Dir aber auch mit einem eigenen Filter oder einem
Modul helfen, den/das Du in die Verarbeitungskette im Apache einhängst.
Wenn es für diesen Zweck nicht bereits irgendwo auf der Welt ein
entsprechendes Modul gibt, dann wird es eventuell mühselig.

Ich hatte vor Jahren mal das Vergnügen, einen Patch für die
Authentisierung gegen AFS, der für mod_auth_pam unter Apache 1.3.x
entwickelt worden war, für Apache 2.x zu portieren. Der Apache hat in
seiner Verarbeitunskette verschiedene Hooks, in die sich Module
einhängen können. Die Hooks befinden sich im Bereich
Modulinitialisierung, Authentisierung, Parsen der Seitenanforderung,
Bearbeitung der Ausgabe, usw.. Ein Modul kann sich je nach
Verwendungszweck an einer oder mehreren Stellen einhängen und dabei
verschiedene Dinge treiben. Damals waren schon ziemlich tiefe Blicke in
die API und raten erforderlich, um die notwendigen Modifikationen an der
Source des Moduls richtig einzubauen.
In Deinem Fall dürfte es leichter sein, da du zusätzlich zum normalen
Apachelogging nur den kompletten Seiteninhalt nach STDERR werfen mußt,
wenn es das ist, was Du willst. Neben den Modulen bietet Apache ab 2.x
nähmlich die Möglichkeit, externe Filter in verschiedenen Sprachen
einzubinden. Das geschieht über mod_ext_filter. Du solltest dazu mal
einen Blick in die Apache-Doku werfen. Eines der Beispiel in der Doku
zum Modul dürfte genau das sein, was Du suchst. Besorg Dir aber schon
mal ausreichend Plattenplatz für die Logs. ;-)

Gruß
Berthold



Mehr Informationen über die Mailingliste Linux-Users