Zuerst öffnet man die Datei /etc/apache2/default-server.conf. Hier sucht man den Eintag „AllowOverride“. Steht hier None, ändert man dies in All und speichert die Datei. (Yast ändert diesen Wert nicht wieder.) Nun muss Apache neu gestartet werden, um die Änderung wirksam werden zu lassen.
Als nächstes erzeugt man eine Passwortdatei mit dem Befehl: htpasswd2. Als Parameter gibt man -c (für create) und den Dateinamen der Passwortdatei an, gefolgt von einem Benutzernamen.
Beispiel: htpasswd2 -c .passwd Klaus
Nach dem drücken von Enter erscheint die Zeile „New password:“ und man kann ein Passwort eingeben. Nach dem drücken von Enter erscheint „Re-type new password:“ und man muss das Passwirt wiederholen. Drückt man nun Enter, wird die Datei .passwd angelegt. Durch den vorangestellten Punkt, ist diese eine versteckte Datei. Aus Sicherheitsgründen, sollte man diese Datei nicht im Verzeichnis htdocs oder eines seiner Unterverzeichnisse speichern.
Jetzt wechselt man in das Verzeichnis, welches man mit einem Passwort schützen will. Hier erzeugt man eine Datei mit dem Namen .htassess und versieht sie mit folgendem Inhalt:
- AuthType Basic
- AuthName (irgendein Name z.B. der Name des zu schützenden Verzeichnisses)
- AuthUserFile /pfad/zu/.passwd
- Require valid-user
- Require all denied
Wird nun eine Datei im geschützten Verzeichnis aufgerufen, öffnet sich ein Dialogfenster und man wir aufgefordert einen Benutzernamen und ein Passwort einzugeben.
Befindet sich der Server im lokalen Netzwerk, kann man die Datei .htaccess auch dahingehend erweitern, dass Rechner aus dem lokalen Netzwerk, freien Zugriff auf das geschützte Verzeichnis haben. Man ergänzt die Datei dafür um fogende Zeilen:
- Require ip 192.168.100
Wobei 192.168.100 natürlich nur ein Beispiel ist 😉 .