Die vom Apache Web- Server bekannte Methode, einen oder mehrere Ordner per .htacces zu schützen, funktioniert mit dem Lighttpd Web - Server leider nicht (so ohne weiteres). Um selbiges zu bewerkstelligen, stellt uns Lightly das Modul mod_auth zur Verfügung.

Zuerst checken wir ob das Modul eventuell schon verwendet wird. Wenn nicht, dann aktivieren wir es ganz einfach, in dem wir

die lighttpd Konfigurationsdatei lighttpd.conf mit root rechten öffnen und gegebenenfalls ergänzen :

nano /etc/lighttpd/lighttpd.conf

Und prüfen, ob mod_auth bereits mitgeladen wurde. Sollte der Eintrag mod_auth unter server.modules nicht vorhanden sein, fügen wir ihn jetzt hinzu.

server.modules

Wollt ihr nur ein Verzeichnis schützen, so genügt (weiter unten) folgende Konfiguration:

1
2
3
4
5
6
7
8
9
#verzeichnisschutz
$HTTP["host"] =~ "" {
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/lighttpd/passwort"
auth.require = (
=> ("method" => "basic", "realm" => "Anmelden", "require" => "valid-user")
"/wordfriss/admin"
)
}

Natürlich kann man auch mehrere Verzeichnisse schützen. Dazu ergänzt man den Bereich auth.require = um die gewünschten Verzeichnis Einträge.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#verzeichnisschutz
$HTTP["host"] =~ "" {
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/lighttpd/passwort"
auth.require = (
"/phpmyadmin" => ("method" => "basic", "realm" => "Anmelden", "require" => "valid-user"),
"/admin.php"
=> ("method" => "basic", "realm" => "Anmelden", "require" => "valid-user"),
"/wordfriss/admin"
=> ("method" => "basic", "realm" => "Anmelden", "require" => "valid-user"),
"/myfolder/private/data"
=> ("method" => "basic", "realm" => "Anmelden", "require" => "valid-user")
)
}

Nachdem wir die Datei lighttpd.conf ergänzt haben speichern wir diese. Als nächstes legen wir die entsprechende Passwort Datei (ebenfalls mit root Rechten) an, welche den erlaubten Namen sowie das verschlüsselte Passwort beinhaltet. Die Datei passwort kann natürlich auch anders heißen.

1
nano /etc/lighthttpd/passwort

Den noch fehlenden Inhalt der passwort Datei generieren wir mit einem Online .htacces Generator wie z.B. den von htaccess-tools

Dort gibt man den Benutzernamen und das gewünschte Passwort im Klartext ein und klickt auf Create File.

generator

Das Passwort wird bereits verschlüsselt angezeigt

Nun kopiert man die vom Generator erzeugte code-zeile in die soeben erstellte passwort Datei .htpasswd hinein und speichert selbige.

Zum Schluss starten wir den Web - Server neu.

1
sudo /etc/init.d/lighttpd restart

Betreten die Besucher jetzt den geschützten Bereich, so wird augenblicklich (wie vom Apachen gewohnt) ein Log-In Dialog eröffnet, welcher die Legitimation mittels Benutzername und Passwort abfragt.

Legitimation erforderlich

Ps.:

Natürlich könnt ihr zum Bearbeiten der config files jeden x - beliebigen Texteditor verwenden. Da ich mittels ssh Zugang den Server konfiguriere und sehr selten physikalischen Zugang zur Hardware benötige, gehört der Nano Editor zu meinen unverzichtbaren Liebling -Werkzeugen.