home
Sonstiges
Linux
OpenBSD
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>
AuthUserFile | gibt an, wo die Datei mit den Usernamen und Paßwörtern liegt |
AuthName | welchen Namen der geschützte Bereich hat |
AuthType Basic | das 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-user | der 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:
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