Apache (LAMP): "500 Internal Server Error"

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
asb
Beiträge: 31
Registriert: 07.01.2003 03:20:27
Wohnort: Berlin

Apache (LAMP): "500 Internal Server Error"

Beitrag von asb » 23.11.2003 02:56:29

Hi,

folgendes Problem: Ein Apache httpd 1.3.27.0-2 in normaler LAMP- Konfiguration funktioniert soweit, dass er Seiten als HTML oder PHP anstandslos ausliefert; ein phpinfo() funktioniert ebenfalls problemlos (mal abgesehen, dass es bei "System" Unsinn ausgibt, aber das tut hier nichts zur Sache).

Sobald ein Formular aber etwas posten will (submit), bekomme ich einen HTTP-Error 500 ("Internal Server Error"). apachectl configtest zeigt keine Probleme, tail /var/log/apache/error.log gibt mir aber so etwas wie:

Code: Alles auswählen

[crit] [client 192.168.101.129] configuration error:  couldn't perform authentication. AuthType not set!: /wiki/wiki.phtml
Dasselbe passiert auch bei anderen Seiten, die etwas über ein Formular abschicken wollen, beispielsweise bei phpSysInfo.

Offensichtlich gibt es ein Problem bei irgendeiner Authentifikation; was ich nicht verstehe ist, dass dieselbe httpd.conf auf einem anderen System (unter Sid) funktioniert, abgesehen davon sehe ich auch nicht so recht, was sich da eigentlich authentifizieren soll. Ich habe jetzt mehrfach die Dokumentation zu Benutzerauthetikation, mod_auth, mod_auth_sys usw. durchgelesen und sehe einfach nicht, wo das Problem liegt.

Ich kann beispielsweise /usr/lib/apache/1.3/mod_auth.so in der httpd.conf laden und einschalten, oder den Eintrag auch auskommentieren, der "Internal Server Error" bleibt. Ach ja, natürlich mache ich nach Konfigurationsänderungen im Apache httpd ein /etc/init.d/apache reload.

Habt ihr eine Idde, in welcher Richtung ich weitersuchen kann? Brauche ich überhaupt mod_auth o.ä.? Spielen hier die Zugriffsberechtigungen der Dateien möglicherweise eine Rolle?

PhpSysInfo in /usr/share/phpsysinfo/ habe ich beispielsweise über das Debian-Paket "phpsysinfo" installiert; es wurde eingerichtet mit folgenden Dateiattributen:

Code: Alles auswählen

drwxr-xr-x    5 root     root         4096 Nov 22 00:50 includes
-rw-r--r--    1 root     root         6568 Oct 29 21:50 index.php
drwxr-xr-x    8 root     root         4096 Nov 22 00:50 templates
Erzwingt das vielleicht die fehlschlagende Authentifikation, und falls ja, welches Modul brauche ich dann dafür (mod_auth.so, mod_auth_sys.so oder was anderes)? Wenn ich bei einer der betreffenden Dateien (und deren Includes) ein chown auf www-data mache, bringt das jedenfalls keine Veränderung, ausserdem gehe ich einfach mal davon aus, dass die Debian-Pakete wirklich sinnvoll und funktionsfähig vorkonfiguriert sind... oder?

Danke für jeden Hinweis,
-asb

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 23.11.2003 14:17:23

Hi asb,

schau mal ob in dem Verzeichnis in dem sich wiki.phtml befindet auch die Datein .htaccess ist (mit ls -la). Poste diese mal. Oder wenn sie nicht da ist, schau in deine httpd.conf. Dort muss ein Anschnitt zu dem /wiki sein.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

asb
Beiträge: 31
Registriert: 07.01.2003 03:20:27
Wohnort: Berlin

Beitrag von asb » 23.11.2003 19:56:33

> schau mal ob in dem Verzeichnis in dem sich wiki.phtml befindet auch die Datein
> .htaccess ist (mit ls -la)

Nein gegenwärtig nicht. Ich hatte damit herumexperimentiert (nach dem Muster <Directory /var/www/wiki>AllowOverride All</Directory>, das hatte aber keinen Einfluss auf die Fehlermeldung.

Als ich mod_auth aktiviert hatte, habe ich auch mit einem AuthUserFile und AuthGroupFile herumprobiert, aber auch das hatte keiner Auswirkung auf den HTTP Error 500. Momentan habe ich alle Module zur Nutzerauthentikation in der httpd.conf deaktiviert.

> schau in deine httpd.conf. Dort muss ein Anschnitt zu dem /wiki sein.

Warum das? Das ist doch ein einfaches Unterverzeichnis, kein virtueller Host; die Skripte (in diesem Fall MediaWIki) erfordern keinerlei Konfiguration der httpd.conf (weder laut Anleitung, noch auf meinem anderen Host, wo diese Konfiguration funktioniert).

Gruss, -asb

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 23.11.2003 21:45:38

asb hat geschrieben: Als ich mod_auth aktiviert hatte, habe ich auch mit einem AuthUserFile und AuthGroupFile herumprobiert, aber auch das hatte keiner Auswirkung auf den HTTP Error 500. Momentan habe ich alle Module zur Nutzerauthentikation in der httpd.conf deaktiviert.
Dann leg mal eine .htaccess an, in der

Code: Alles auswählen

AuthType Basic
steht....und schau dann mal ob sich die Fehlermeldung aendert.
Warum das? Das ist doch ein einfaches Unterverzeichnis, kein virtueller Host; die Skripte (in diesem Fall MediaWIki) erfordern keinerlei Konfiguration der httpd.conf (weder laut Anleitung, noch auf meinem anderen Host, wo diese Konfiguration funktioniert).
Alles was in einer .htaccess stehen kann, kann auch in der httpd.conf stehen. Haette sein koennen das du die Aenderungen (sofern sie noeting gewesen waegen) in der httpd.conf gemacht hast.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

asb
Beiträge: 31
Registriert: 07.01.2003 03:20:27
Wohnort: Berlin

Beitrag von asb » 26.11.2003 07:19:51

blackm hat geschrieben:Dann leg mal eine .htaccess an, in der AuthType Basic steht....und schau dann mal ob sich die Fehlermeldung aendert.
Zunächst mal nein, weil ich global ein

Code: Alles auswählen

AllowOverride None
ab dem Server-Root habe. Wenn ich in der httpd.conf (ich mag .htaccess nicht) dann folgendes aktiviere, bekomme ich einen Authentication Request:

Code: Alles auswählen

<Directory /var/www/wiki>
     AllowOverride All
     AuthType Basic 
     Require Valid-User
     Allow From All 
</Directory>
Allerdings kann ich mich dann mit keinem mit bekannten Account authentifizieren (HTTP Error 401), warum auch immer.

Das Problem dabei ist aber doch, dass ich an dieser Stelle überhaupt keine Authentikation will, und ich überhaupt nicht herausbekomme, was bzw. warum da etwas geschützt sein will.

Zitat aus einem Apache-Buch (von Lars Eilebrcht u.a.):
Fordert ein Browser ein Dokument eines geschützten Bereichs an, so antwortet der Webserver mit einer entsprechenden Unauthorized-Meldung (Statuscode 401) [...]
"Geschützt" meint doch wohl, dass man für ein Verzeichnis wie /var/www/wiki die Authentikation mit "AuthType Basic" o.ä. aktiviert?

Spätestens mit folgender Direktive sollte es dann doch keinerlei Authentifikationsversuche mehr geben:

Code: Alles auswählen

<Directory /var/www/wiki> 
     AllowOverride All 
     Allow From All 
</Directory>
Trotzdem gibt es auch hier wieder diesen Error 500.

MfG -asb

asb
Beiträge: 31
Registriert: 07.01.2003 03:20:27
Wohnort: Berlin

Beitrag von asb » 26.11.2003 08:10:07

Die Sache hat sich soeben erledigt; ich habe jetzt nochmal von vorne angefangen mit einer Blanko- /usr/share/doc/apache/examples/httpd.conf und soweit klappt jetzt alles wie gewohnt. Warum allerdings die Konfiguration auf dem Sid-Rechner problemlos lief, bleibt mir ein Rätsel... ;-/

MfG -asb

Antworten