Last Updated on: 6th Oktober 2021, 09:09 am
Wer einen Apache-Server daheim oder im Web betreibt, kommt irgendwann an den Punkt, wo er mittels Zugriffschutz Daten gegen Unbefugten Zugriff schützen möchte. Dies zu erreichen ist denkbar einfach. Es müssen dazu drei Vorrausetzungen erfüllt sein:
1.) Allow Override in der Apache Konfiguration
In der default Konfiguartion des Apache-Servers muss die Einstellung AllowOverride gesetzt sein:
sudo nano /etc/apache2/sites-available/default
Dort wird dann die entsprechende Zeile eingefügt:
<Directory /var/www/meinVerzeichnis > ... AllowOverride All ... </Directory>
2.) Datei .htaccess erstellen
In dem Verzeichnis, dass geschützt werden soll (hier meinVerzeichnis) wird die entsprechdende Datei angelegt:
nano .htaccess
und muss dann die folgenden Angaben enthalten:
AuthType Basic AuthUserFile /var/htpasswd AuthName "Bitten anmelden" order deny,allow allow from all require valid-user
In der vorgenannten Konfiguration wird gesagt, dass der Zugriff hier nur mittels authentifiziertem User möglich sein soll. AuthUserFile gibt dabei an, wo die Datei mit den zulässigen User/Passwort-Kombinationen zu finden ist. Dort schaut der Apache dann für den Abgleich bei der Anmeldung nach.
3.) Datei htpasswd erstellen
Die Datei mit den User/Passwort-Kombinationen wird mittels des Hilfswerkzeugs htpasswd erstellt. Dabei wird der gewünschte Benutzer und das entsprechende Passwort in eine htpasswd-Datei geschrieben. Das Passwort wird dabei mittels HASH verschlüsselt und nicht im Klartext abgelegt. Bitte darauf achten, dass die .htpasswd auch unter dem Pfad zu finden ist, wo sie in der htaccess auch angegeben ist.
htpasswd -cs htpasswd testuser New password: Re-type new password: Adding password for user testuser
Anschließend schauen wir uns den Eintrag mal an:
cat htpasswd testuser:{SHA}AbCxoHgvdezt5GQTUacTvN3uW6fpVGA=
Anschließend des Webserver neu starten oder reloaden.
sudo /etc/init.d/apache2 restart
Jetzt sollte beim Zugriff auf das geschützte Verzeichnis die Passwortabfrage kommen.