Gerade eben musste ich es mal wieder einrichten: Zugriffskontrolle auf ein Verzeichnis im Apache. Dazu hatte ich vor Jahren auf einer meiner Uralt-Webseiten schon mal einen Artikel geschrieben. Den re-publiziere ich hier in (praktisch) unüberarbeiteter Form:
Der htaccess-Mechanismus erlaubt eine verzeichnisorientierte Zugriffsbeschränkung über eine Authentifizierung. htaccess verlangt normalerweise einen gütigen Benutzername und Passwort, um auf dieses Verzeichnis (und seine Unterverzeichnisse) zugreifen zu dürfen.
Folgende Dinge sind zu tun, um ein Verzeichnis zu schützen:
1. in der httpd.conf:
htaccess muss für das Verzeichnis erlaubt werden. Dazu ist die Direktive AllowOveride All zu setzen. Beispiel:
<Directory /pfad/apache/htdocs/diesesverzeichnis> AllowOveride All </Directory> |
2. Anlegen der Datei .htaccess:
Im zu schützenden Verzeichnis wird die Datei angelegt (führenden Punkt nicht vergessen, dies ist eine versteckte Datei!):
AuthName "Dies ist der Login-Bereich von Fritzchen" AuthType Basic AuthUserFile /pfad/public/htdocs/login/.htpasswd require valid-user |
3. Anlegen der Datei .htpasswd:
Das Anlegen dieser Datei geschieht mit dem htpasswd-Befehl [update]bei Apache2 mit dem korrelierenden Befehl htpasswd2[/update]. Da die Passwörter verschlüsselt gespeichert werden, kann die Datei nicht von Hand erstellt werden.
Wir erzeugen die Datei z.B. mit folgendem Befehl:
$ htpasswd -c .htpasswd ersterbenutzer |
Für jeden weiteren Benutzer rufen wir den Befehl ohne „create“ auf:
$ htpasswd .htpasswd weitererbenutzer |