Apache Server in Mac Os X macht Ärger
Martin
- webserver
Hallo,
ich nutze den in Mac OS X integrierten Apache Server, damit ich lokal HTML Dokumente veröffentlichen kann. Dabei will ich einzelne Bereiche durch .htaccess schützen.
Das Problem:
Apache zeigt keinen Login Dialog für die deklarierten Bereiche an, sondern zeigt ohne weiteres den schützenswerten Bereich.
.htaccess Datei:
AuthType Basic
AuthName "Passwort-Eingabe"
AuthUserFile /~Martin/.htusers
require user Benutzername
Eine .htusers Datei ist nicht angelegt, dürfte aber ja auch nicht stören.
Alle AllowOverrides sind auf "All" gesetzt.
Apache ignoriert die Existenz der htaccess Datei völlig.
Ideen oder Lösungsvorschläge?
Moin!
Das Problem:
Apache zeigt keinen Login Dialog für die deklarierten Bereiche an, sondern zeigt ohne weiteres den schützenswerten Bereich.
D.h. jeder kann sich deine Dateien ohne die nötige Authorisierung anschauen.
.htaccess Datei:
AuthType Basic
AuthName "Passwort-Eingabe"
AuthUserFile /~Martin/.htusers
Das sieht mir nach einem leicht ungültigen Pfad aus. Du weißt schon, dass der Apache diesen Dateinamen _genau so_ nimmt, d.h. es wird keine ~ entsprechend des Homeverzeichnisses expandiert. Hiermit behauptest du, dass im Rootverzeichnis ein Unterverzeichnis namens ~Martin gibt.
require user Benutzername
Eine .htusers Datei ist nicht angelegt, dürfte aber ja auch nicht stören.
Wieso auch, soll der Apache doch selbst wissen, wie er mit nicht existenten Dateien umgeht. Normalerweise solltest du in der Errorlog ein paar nette Einträge dazu finden.
Alle AllowOverrides sind auf "All" gesetzt.
Apache ignoriert die Existenz der htaccess Datei völlig.
Oder er kann mit ihr nichts anfangen? Bei solch einem Fehler weiß ich nicht, wie die Reaktion ist, aber ein HTTP/500 wäre schon angebracht.
Ideen oder Lösungsvorschläge?
Sonst erstmal keine.
Viele Grüße,
Robert
hallo Martin,
AuthUserFile /~Martin/.htusers
require user Benutzername
Eine .htusers Datei ist nicht angelegt, dürfte aber ja auch nicht stören.
Vielleicht solltest du dich doch noch einmal genauer mit .htaccess beschäftigen. Wenn du angegeben hast, daß Paßwörter aus dieser Datei .htusers glesen werden sollen, muß so eine Datei natürlich existieren.
Alle AllowOverrides sind auf "All" gesetzt.
"All" ist meist etwas zu mächtig, da reichen in der Regel auch andere Einstellungen.
Apache ignoriert die Existenz der htaccess Datei völlig.
Woraus schließt du das? Deine .htaccess enthält lediglich eine Anweisung, die wegen der fehlenden Paßwortdatei nicht ausgeführt werden kann. Wenn keine Paßwörter existieren, ist es nicht nötig,den login-Dialog anzuzeigen. Schließlich können .htaccess-Dateien auch für andere Aufgaben als bloß Paßwortabfragen eingesetzt werden.
Grüße aus Berlin
Christoph S.