Lighttpd prend en charge les méthodes d’authentification de base et digest. Considérez maintenant l’exemple de configuration suivant :
Nom de domaine : monsite.fr
Répertoire (DocRoot) à protéger avec un mot de passe : /var/www/monsite.fr/private
Nom d’utilisateur : user
Fichier de mot de passe Lighttpd : /etc/lighttpd/.lighttpdpassword (ce fichier doit être en dehors de la racine du document http par défaut)
Format :
user:password
Comment utiliser la méthode d’authentification de base ?
Facile à mettre en œuvre et mot de passe stocké au format texte clair à l’aide de fichiers. Si vous allez utiliser cette méthode, assurez-vous d’utiliser la connexion / cryptage SSL (Secure Socket Layer).
Étape #1: Ouvrez le fichier /etc/lighttpd/lighttpd.conf
Assurez-vous que mod_auth est chargé :
server.modules += ( "mod_auth" )
Ajoutez maintenant les trois directives suivantes :
auth.debug = 2
auth.backend = "plain"
auth.backend.plain.userfile = "/etc/lighttpd/.lighttpdpassword"
Où
- auth.debug = 2 : Spécifiez le niveau de débogage (0 désactive le message de débogage, 1 pour le message ok d’authentification et 2 pour le message de débogage détaillé/détaillé). Ceci est utile pour résoudre le problème d’authentification. Il enregistre les messages dans les fichiers d’accès.log et d’erreur.log
auth.backend = « plain » : Vous utilisez un backend en texte brut (les autres options sont ldap, htpasswd et autres)
auth.backend.plain.userfile = « /etc/lighttpd/.lighttpdpassword » : Nom de fichier du nom d’utilisateur:stockage de mot de passe
(monsite.fr) et ajoutez le texte suivant : Où,
auth.require = ( "/private/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=user"
)
)
auth.require = ( « /private/ » => : Nom du répertoire
« method » => « basic », : Type d’authentification
« realm » => « Zone protégée par mot de passe », : Password realm/message
« require » => « user=user » : Seul l’utilisateur user peut utiliser /private/
À la fin, votre configuration doit se lire comme suit :
$HTTP["host"] == "monsite.fr" {
server.document-root = "/var/www/monsite.fr"
server.errorlog = "/var/log/lighttpd/monsite.fr/error.log"
accesslog.filename = "/var/log/lighttpd/monsite.fr/access.log"
auth.require = ( "/private/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=user"
))
}