Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Netzwerke>.htaccess auf dem lokalem server...

.htaccess auf dem lokalem server...

Bueno
Bueno09.03.0504:04
HuHu!
<br>
<br>Wie bekomme ich mit .htaccess einen Verzeichnisschutz auf dem lokalem Server hin?
<br>
<br>Vor allem Frage ich mich wie der "vollständige absolute" Pfad für die AuthUserFile angabe ist.
<br>
<br>So in etwa wäre dann fürs erste meine .htaccess-datei:
<br>
<br>AuthUserFile /???/???/???/.htpasswd
<br>AuthName test
<br>AuthType Basic
<br>require user bueno
<br>
<br>
<br>Vielen Dank,
<br>
<br>bueno
0

Kommentare

Sebastian
Sebastian09.03.0507:50
Naja, wo packst Du die htpasswd denn hin?
<br>Du gibst den absoluten Pfad zu der Datei an. So wie in jeder Shell auch.
<br>
<br>Achte drauf daß Du einen Eintrag "AllowOverride AuthConfig" für das entsprechende Verzeichnis hast.
<br>
<br>Und immer schön ein Terminal-Fenster mit dem Befehl "tail -f /var/log/httpd/error_log" offen haben, das hilft beim Fehlersuchen in Apache immens.
0
JackyK
JackyK09.03.0507:53
Hi,
<br>
<br>so wie Du Dein .htaccess gemacht hast ist es schon richtig.
<br>
<br>Zu Deiner Pfad Frage:
<br>Du kannst ein Terminal Fenster oeffnen und dann in das Verzeichnis
<br>gehen, in dem sich dein .htpasswd sich befindet und einfach mal
<br>"pwd" eingeben. Dann siehst Du wie der absolute Pfad lautet.
<br>
<br>Damit htaccess nun auch funktioniert musst du httpd.conf aendern.
<br>Leider gibt es mehrere httpd.conf auf dem Mac.
<br>Anscheinend wird das von apache2 nicht verwendet. (Zumindest bei mir nicht)
<br>Gehe in das Verzeichnis /etc/httpd/ und oeffne dort als "root" httpd.conf
<br>
<br>Nun musst Du folgendes aendern:
<br>
<br> Options FollowSymLinks
<br> AllowOverride None
<br>
<br>
<br>zu
<br>
<br>
<br> Options FollowSymLinks
<br> AllowOverride All
<br>
<br>
<br>Nun die Datei speichern und schliessen.
<br>
<br>Jetzt im Terminal als "root" folgende eingeben:
<br>apachectl graceful
<br>damit Apache die config Datei nochmal liest (ohne neu starten zu muessen)
<br>
<br>Danach sollte es funktionieren.
0
JackyK
JackyK09.03.0507:56
hmm nochmal
<br>
<br>< Directory />
<br> Options FollowSymLinks
<br> AllowOverride None
<br>< /Directory>
<br>
<br>zu
<br>
<br>< Directory />
<br> Options FollowSymLinks
<br> AllowOverride All
<br>< /Directory>
<br>
<br>oder anstatt All AuthConfig wie Sebastian es erwaehnt hat.
0
Bueno
Bueno09.03.0517:21
Danke für die Antworten!
<br>
<br>Ich habe es jetzt mal versucht, die .htpasswd liegt im privaten Dokumente ordner und die .htaccess Datei ist so:
<br>
<br>AuthUserFile /Users/bueno/Documents/.htpasswd
<br>AuthName Admin-Bereich
<br>AuthType Basic
<br>require user admin
<br>
<br>Die httpd.conf Datei in private/etc/httpd habe ich auch geändert (AuthConfig).
<br>
<br>Die .htaccess Datei ist in Library/WebServer/Documents/test wo auch das Bild test.jpg drin ist.
<br>
<br>Den Server neu gestartet mit apachectl graceful habe ich auch.
<br>
<br>Jedoch scheint das ganze noch nicht zu funktionieren: http://simi-chan.homeip.net/test/test.jpg
<br>
<br>
<br>Und noch eine Frage: Wenn ich im terminal bin, bin ich da automatisch im Ordner Users/bueno, wie komme ich dann z.B. in Library/WebServer/Documents ??
<br>
<br>Danke!
<br>
<br>bueno
0
Rantanplan
Rantanplan09.03.0518:05
Die Datei /etc/httpd.conf zu ändern ist nicht unbedingt eine gute Idee. Beim nächsten Update von Apache wird die neuere conf drübergebügelt und die Änderungen sind weg.
<br>
<br>Gerade dafür gibt es die benutzerspezifischen Konfigurationen, die bleiben bei einem Update unangetastet:
<br>
<br>/etc/httpd/users/benutzername.conf
<br>
<br>
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Rantanplan
Rantanplan09.03.0518:09
Oje
<br>
<br>Hast du das Paßwort auch mit htpasswd erzeugt? Oder wie?
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
JackyK
JackyK09.03.0518:23
Rantanplan
<br>/etc/httpd/users/benutzername.conf
<br>
<br>Man lernt nie aus.. Danke =)
<br>
<br>
0
JackyK
JackyK09.03.0519:10
hmm mal so eine Ueberlegung:
<br>
<br>die benutzername.conf
<br>sind ja fuer die /Users//Sites
<br>
<br>Aber bueno will ja die Library/WebServer/Documents/test schuetzen
<br>und nicht ein Ordner von /Users//Sites
<br>
<br>
<br>
0
Rantanplan
Rantanplan09.03.0519:41
JackyK
<br>
<br>Naja, das mit den benutzerbezogenen Konfigurationen ist ein bissl ein "Fake" Tatsache ist, daß Apache *alle* conf-Dateien in dem /etc/httpd/users/ einliest. Das was da in benutzer.conf drin steht, sieht halt so aus:
<br>
<br>
<br> bla bla
<br>
<br>
<br>und bezieht sich daher nur auf dessen eigene HTML-Dokumente. Aber man kann in die benutzer.conf reinschreiben was man will. Man kann auch eine zusätzliche Datei anlegen, die nicht einen Benutzernamen trägt. Sie muß halt nur auf .conf enden, das ist die einzige Bedingung.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Sebastian
Sebastian09.03.0519:41
Rantanplan
Die Datei /etc/httpd.conf zu ändern ist nicht unbedingt eine gute Idee. Beim nächsten Update von Apache wird die neuere conf drübergebügelt und die Änderungen sind weg.
<br>Nein. Für den Fall daß Du die geändert hast wird lediglich die httpd.conf.default geändert.
<br>
<br>Ich denke, des Rätsels Lösung ist, daß die htpasswd unterhalb des ServerRoot (nicht notwendigerweise DocumentRoot) liegen muß.
<br>Und Nutzerverzeichnisse sind oberhalb von "Sites" außerhalb des ServerRoot. Probier&rsquo;s mal, die Datei auch in "Sites" zu packen; keine Sorge, der APache liefert keine Dateien, deren Namen mit ".ht" anfangen aus, Deine Paßwörter sind also sicher.
0
Rantanplan
Rantanplan09.03.0519:41
Hm, geht nicht.... nochmal probieren
<br>
<br>< Directory "/Users/benutzer/Sites/" >
<br> bla bla
<br>< /Directory >
<br>
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Rantanplan
Rantanplan09.03.0519:44
Sebastian
Rantanplan
Die Datei /etc/httpd.conf zu ändern ist nicht unbedingt eine gute Idee. Beim nächsten Update von Apache wird die neuere conf drübergebügelt und die Änderungen sind weg.
<br>Nein. Für den Fall daß Du die geändert hast wird lediglich die httpd.conf.default geändert.
<br>
<br>Ok, erfreulich, aber für unerfahrene Leute wie bueno dann auch ein Problem: dann schleppt er immer die alte httpd.conf mit sich herum und wundert sich vielleicht irgendwann, warum manche Dinge sich nicht so verhalten wie sie sollten.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
JackyK
JackyK09.03.0519:44
So vielleicht noch eine kleine Erklaerung
<br>wieso es bei bueno nicht geklappt hat.
<br>
<br>Mein Vorschlag war im /etc/httpd/httpd.conf unter
<br>< Directory / > AllOverride zu aendern.
<br>
<br>bueno hatte aber seinen test-Ordner unter
<br>/Library/WebServer/Documents/
<br>
<br>was widerum in der httpd.conf
<br>< Directory /Library/WebServer/Documents>
<br>mit AllOverride None definiert ist.
<br>
<br>Fazit: wenn man AllOverride im Bereich
<br>< Directory /Library/WebServer/Documents>
<br>aendert geht es.
<br>
<br>
0
JackyK
JackyK09.03.0519:47
Rantanplan
JackyK
<br>
<br>Aber man kann in die benutzer.conf reinschreiben was man will. Man kann auch eine zusätzliche Datei anlegen, die nicht einen Benutzernamen trägt. Sie muß halt nur auf .conf enden, das ist die einzige Bedingung.
<br>
<br>Super! .. und wieder Danke
<br>
0
Bueno
Bueno09.03.0519:49
Danke euch allen! Habe viel gelernt und es funktioniert
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.