La tanière d'Ustilago

valid-css !

Valid XHTML 1.0!

1. Introduction

Pour changer du très classique serveur web Apache, j'ai décidé d'installer lighttpd à la place : c'est censé être simple, léger et très rapide. Vous trouverez des comparatifs ici, ici et ici (entre autre).

2. Installation

L'installation est très simple, il suffit d'installer le paquet lighttpd avec votre gestionnaire de paquets préféré :

$ sudo apt-get install lighttpd

Et c'est tout !

Vous pouvez vérifier que tout s'est bien passé en ouvrant dans votre navigateur la page http://localhost qui devrait s'afficher comme suit (avec lighttpd 1.4.19-5 de Lenny) : Lighttpd fraîchement installé

3. Les modules

Les fichiers de configuration des modules disponibles pour Lighttpd se trouvent dans le répertoire /etc/lighttpd/conf-available/. Les modules activés ont un lien dans le répertoire /etc/lighttpd/conf-enabled/ qui pointe vers le fichier .conf correpondant de /etc/lighttpd/conf-available/.

Pour activer un module il faut utiliser la commande lighty-enable-mod module, et pour désactiver un module la commande lighty-disable-mod module. Ces deux commandes se chargent de gérer les liens dans le répertoire /etc/lighttpd/conf-enabled/.

attention Après avoir activé/désactivé un module, il ne faut pas oublier de recharger la configuration de Lighttpd pour que les changements soient pris en compte :
$ sudo /etc/init.d/lighttpd force-reload

4. PHP

4.1 Installation de PHP

Un serveur web sans PHP, c'est, comment dire, un peu comme une vache sans lait : ça ne sert pas à grand chose. Là encore, l'installation est simple, il suffit d'installer le paquet php5-cgi :

$ sudo apt-get install php5-cgi

On peut également en profiter pour installer la librairie GD, très souvent utilisée dès qu'il faut traiter/générer des images : c'est le paquet php5-gd.

4.2 Activation de PHP

Comme nous l'avons vu précédemment, nous allons activer ce module (en fait, pour PHP, il faut activer le module fastcgi) et recharger la configuration de Lighttpd :

$ sudo lighty-enable-mod fastcgi
Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl status userdir 
Already enabled modules:
Enabling fastcgi: ok
Run /etc/init.d/lighttpd force-reload to enable changes
$ sudo /etc/init.d/lighttpd force-reload
Stopping web server: lighttpd.
Starting web server: lighttpd
attention Avec Lighttpd 1.4.28 (version livrée avec Squeeze), le module à activer pour PHP est fastcgi-php

4.3 Test de PHP

Nous allons maintenant vérifier que tout s'est bien passé, et que PHP est fonctionnel. Pour ce faire nous allons créer à la racine du serveur web un fichier qui nous donne le phpinfo :

$ sudo sh -c 'echo "<?PHP phpinfo(); ?>" > /var/www/phpinfo.php'
$ sudo chown -R www-data:www-data /var/www/phpinfo.php

Il ne vous reste plus qu'à pointer votre navigateur vers l'adresse http://localhost/phpinfo.php

5. MySQL

Je ne détaille pas ici l'installation d'un serveur MySQL. Il suffit d'installer les paquets mysql-server, mysql-client et php5-mysql :

$ sudo apt-get install mysql-server mysql-client php5-mysql

6. Erreurs

Si vous avez cette erreur lorsque vous lancer Lighttpd :

/usr/sbin/lighttpd: Symbol `FamErrlist' has different size in shared object, consider re-linking

Il semblerait (d'après le site webhostingtalk (en)) que cela vienne d'un conflit entre fam et gamin. L'installation de libfam0 et le redémarrage de Lighttpd résoud ce problème:

$ sudo apt-get install libfam0
[...]
$  sudo /etc/init.d/lighttpd restart
Stopping web server: lighttpd.
Starting web server: lighttpd.

7. Ressources

Page maintenue par Sébastien KALT - Copyright (c) 1999-2011 Sébastien KALT.