home über marty Sonstiges Linux OpenBSD CDVerwaltung Greetz wieso marty44?? Links

Zugriffsbeschränkung unter Apache mit .htaccess

Mit der Datei .htaccess kann man Zugriffsrechte auf ein bestimmtes Verzeichnis des Webservers setzen, damit nicht jeder darauf zugreifen kann.
Als erstes sollte man sich aber vergewissern, das in der Konfigurationsdatei des Apache-Webservers (httpd.conf) die Option "AllowOverride" auf "All" steht. Wenn diese auf "None" steht, kann man wie blöd .htaccess-Dateien erstellen, aber diese wird der Apache dann einfach ignorieren. Das kann einen schon zur Weißglut bringen ;)
Als nächstes geht man in das Verzeichnis, welches geschützt werden soll (hier im Beispiel das Verzeichnis geheim, welches den realen Pfad /auktion/apache/htdocs/geheim hat). Das Verzeichnis sollte dem Webserver bekannt sein, da es keinen Sinn macht, ein Verzeichnis mit einer .htaccess-Datei zu schützen, das der Webserver eh nie publik gemacht hätte ;). Eventuelle Unterverzeichnisse werden automatisch geschützt.
Ich habe den Apache von Hand installiert, also paßt auf, das ihr die Pfadangaben entsprechend ändert!
www:# cd /auktion/apache/htdocs/geheim
Hier erstellt man nun man einen Editor seiner Wahl die Datei .htaccess:
AuthUserFile /auktion/apache/htdocs/geheim/.htpasswd
AuthName "not for public"
AuthType Basic
<Limit GET>
require valid-user
</Limit>
AuthUserFilegibt an, wo die Datei mit den Usernamen und Paßwörtern liegt
AuthNamewelchen Namen der geschützte Bereich hat
AuthType Basicdas muß rein, es gibt aber auch keinen anderen als Basic
<Limit GET>es dürfen nur Dateien heruntergeladen werden (zum hochstellen noch PUT und POST einfügen)
require valid-userder Nutzer muß einen Namen und ein Paßwort haben

Es muß noch die Datei .htpasswd erstellt werden. Diese enthält die Usernamen und Paßwörter. Erstellt wird sie mit dem Programm htpasswd. Je nach Installation kann man es einfach mit "htpasswd" aufrufen oder man muß vorher noch den kompletten Pfad angeben zu htpasswd wie bei mir.
www:/auktion/apache/htdocs/geheim# /auktion/apache/bin/htpasswd -c .htpasswd username
New password: blafasel
Re-type new password: blafasel
Adding password for user username

Wenn man weitere User hinzufügen will, muß man den Parameter "-c" weglassen, da sonst jedesmal die Datei .htpasswd neu erzeugt wird und somit die alten Usereinträge gelöscht werden.

Abschließend noch der finale Test. Von einen Webbrowser die URL aufrufen und es sollte so was in der Art erscheinen:

bitte Username und Paßwort

Wenn die richtigen Daten eingegeben wurden, sollte man das Verzeichnis oder die Startseite sehen.

zurück zur Linux-Übersicht
Letzte Aktualisierung dieser Seite: 21. August 2001