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.
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.
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
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
$ 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" ) }
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/" )