Table des matières

, ,

lighttpd

Premiers pas avec lighttpd, un serveur web rapide et léger de configuration plus aisé qu'apache2. Il répond simplement aux besoins de moyenne envergure.

Installation de lighttpd

sudo apt-get install lighttpd

Aucune difficulté, en ce qui concerne la configuration de base, le fichier /etc/lighttpd/lighttpd.conf est clair, court et explicite.

Mode debug

Lors de la phase de configuration du serveur, l'activation des options de debug peut aider à identifier les problème rencontrés:

## options de debug

# Tracer le header des requêtes
#debug.log-request-header     = "enable"

# Trace seulement le header de la requete si erreur
#debug.log-request-header-on-error = "enable"

# Tracer le header de la reponse
#debug.log-response-header    = "enable"

# Trace le traitement détaillé de la requete par lighttpd
debug.log-request-handling   = "enable"

# Trace lorsque une resource n'est pas trouvée
debug.log-file-not-found     = "enable"

# trace les conditions
debug.log-condition-handling = "enable"

Détail dans la documentation du projet http://redmine.lighttpd.net/projects/lighttpd/wiki/DebugVariables

log access

Par défaut l’accès aux ressources n'est pas tracé. Activer le module prévu à cet effet:

$ sudo lighty-enable-mod accesslog
$ sudo service lighttpd force-reload

Par défaut le fichier de log est définit à /var/log/lighttpd/access.log. Pour modifier le chemin, éditer le fichier de configuration associé au module: /etc/lighttpd/conf-available/10-accesslog.conf

Activer le module cgi

$ sudo lighty-enable-mod cgi
$ sudo service lighttpd force-reload

Le fichier de configuration /etc/lighttpd/conf-available/10-cgi.conf permet notamment de définir les couples d'associations (extension, interpreteur) via la directive cgi.assign. Dans le cas suivant les associations sont définies lorsque l'URL commence “/cgi-bin/”:

server.modules += ( "mod_cgi" )

# log des erreurs cgi
server.breakagelog = "/var/log/lighttpd/cgi-error.log"

# 
$HTTP["url"] =~ "^/cgi-bin/"{
   cgi.assign = ( ".pl" => "/usr/bin/perl",
   ".cgi" => "",
   ".py" => "/usr/bin/python" )
}
Attention a ne pas apporter les modifications dans le fichier 10-fastcgi.conf prévu pour la configuration d'un module différent.

Alias dossier cgi système

Avec la configuration par défaut, les scripts ne peuvent être appelés que s'ins se trouvent dans le dossier ./cgi-bin sous le root web. Si l'on souhaite utiliser le dossier /usr/lib/cgi-bin du système, il faut créer un alias. Modifier le fichier de configuration /etc/lighttpd/lighttpd.conf:

alias.url = ( "/cgi-bin/" => "/var/www/servers/www.example.org/cgi-bin/" )

Références