Mit einer .htaccess Datei kann man unter anderem schnell einen Zugriffsschutz für ein Verzeichnis auf einem Webserver einrichten. Wie das geht zeige ich euch hier.
Für den Passwortschutz werden 2 Dateien benötigt.
- .htaccess (wird im zu schützenden Verzeichnis abgelegt)
- .htpasswd (wird außerhalb des Document Roots abgelegt, damit man über das Internet nicht darauf zugreifen kann)
Die vollständige Dokumentation findet ihr hier:
https://httpd.apache.org/docs/current/howto/htaccess.html
Die Apache Foundation empfiehlt übrigens keine .htaccess Dateien zu benutzen, da es das Laden der Webseite verlangsamt.
.htaccess Datei erstellen
Die Datei hat folgenden Inhalt:
AuthType Basic AuthName "Zugriff verweigert - Bitte Benutzername und Passwort eingeben" AuthUserFile /var/www/.htpasswd Require valid-user
.htpasswd Datei erstellen
Wenn ihr keinen Zugriff auf eine Linux Shell habt könnt ihr im Netz nach einem der unzähligen htpasswort Generatoren suchen.
Ansonsten einfach folgenden Befehl eingeben
htpasswd -c /var/www/.htpasswd benutzer1
Der Switch -c bewirkt, dass die Datei neu erstellt wird. Lasst es weg wenn ihr weitere Benutzer anlegen wollt.
Problembehebung
Wenn die Passwortabfrage gar nicht erscheint kann es an der Webserver Konfiguration liegen. Für Apache schaut euch die AllowOverride Direktive an. Damit steuert man was in der .htaccess drin stehen darf und verarbeitet wird. Für die Authentifizierung reicht AllowOverride AuthConfig.
https://httpd.apache.org/docs/2.4/de/mod/core.html#allowoverride
Wenn ihr immer wieder nach dem Benutzernamen und dem Passwort gefragt werdet, findet der Webserver die .htpasswd Datei nicht oder kann sie nicht lesen.