{{tag>webadmin http serveur}} ====== 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 ===== * https://doc.ubuntu-fr.org/lighttpd * http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModCGI