Um im schlanken Webserver Lighty eine HTTP Authentifizierung für bestimmte Verzeichnisse zu erzeugen, ist es notwendig, in der /etc/lighttpd/lighttpd.conf das Server-Modul mod_access und mod_auth zu aktivieren.
server.modules = (
"mod_access",
"mod_auth",
"mod_alias",
"mod_accesslog",
"mod_compress",
"mod_cgi",
"mod_fastcgi",
"mod_rewrite",
"mod_magnet",
"mod_redirect",
"mod_status",
)
Um ein Verzeichnis unterhalb eines bestehenden Webroots nun mit einer Authentifizierung zu schützen, tragen wir das in der /etc/lighttpd/vhosts.conf ein.
$HTTP["host"] =~ "(^|\.)domain\.tld$" {
server.document-root = "/home/user/pages/"
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/home/user/passwd.txt"
auth.require = ("/" => (
"method" => "basic",
"realm" => "admin",
"require" => "valid-user"
)
)
}
Zu guter Letzt benötigen wir noch die /home/user/passwd.txt die die betreffenden Authentifizierungsinfos bereit hält.
user:basic_encoded_password
Fortan ist der Ordner /home/user/pages/ passwortgeschützt.
Möchte man einen Unterordner passwortschützen, trägt man diesen statt des Slashes ein:
auth.require = ("/subdir/" => (
"method" => "basic",
"realm" => "admin",
"require" => "valid-user"
)
)