lighttpd est un serveur conçu pour être léger et rapide. D'après ses concepteurs, il a été écrit pour prendre en charge les sites Web nouvelle génération. Ainsi, Youtube, Wikipedia ou Meebo utilisent lighttpd.
L'intégralité des actions qui vont suivre doivent être exécutées en tant que super-utilisateur (typiquement : root).
Pour installer lighttpd, utilisez le gestionnaire de paquets présent dans votre distribution. Par exemple sous Debian 5.0 avec apt-get, entrez :
# apt-get install lighttpd
Dès lors, lighttpd devrait être installé.
Pour tester si votre serveur a pu se lancer sans problèmes, visitez l'adresse http://serveur/ avec votre navigateur web.
Si vous voyez une page écrite en anglais dont le titre est « Welcome page », c'est que votre serveur fonctionne.
Si vous ne voyez pas cette page et que votre navigateur vous dit qu'il n'a pas pu trouver le serveur à cette adresse, c'est que votre serveur n'a pas pu démarrer ou a été mal installé.
Vérifiez le fichier /var/log/lighttpd/error.log
.
Celui-ce devrait vous indiquer pourquoi le serveur n'a pas pu démarrer.
Si le log n'existe pas, il faudra alors réinstaller lighttpd.
Pour redémarrer votre serveur, entrez :
# /etc/init.d/lighttpd restart
Dès que votre serveur est fonctionnel, le répertoire /var/www/
correspond au répertoire racine de votre serveur http://serveur/.
C'est donc là qu'il faudra entreposer vos pages HTML (car pour le moment, lighttpd ne supporte pas PHP).
Pour que votre serveur soit accessible de l'extérieur, il faudra ouvrir le port 80 de votre routeur.
Pour installer php5, utilisez le gestionnaire de paquets présent dans votre distribution. Par exemple sous Debian 5.0 avec apt-get, entrez :
# apt-get install php5-cgi
Après l'installation, nous allons devoir activer le module fastcgi de lighttpd pour que php5 soit pris en compte.
Pour cela, entrez :
# lighty-enable-mod fastcgi
Puis redémarrez le serveur comme indiqué :
# /etc/init.d/lighttpd force-reload
Voilà, php5 devrait donc maintenant être opérationnel.
Il est possible qu'il faille préciser dans le fichier de configuration de lighttpd où se trouve php. Pour cela éditez /etc/lighttpd/lighttpd.conf en ajoutant (si cela n'est pas)
fastcgi.server = ( ".php" => (( "socket" => "/tmp/php-fastcgi.socket", "bin-path" => "/usr/bin/php5-cgi" )) )
Pour vérifier que php5 marche bien, nous allons créer un fichier nommé phpinfo.php
dans /var/www/
Éditez ce fichier et placez les lignes suivantes à l'intérieur :
<?php phpinfo(); ?>
Accédez ensuite à votre serveur à l'adresse http://serveur/ et cliquez sur phpinfo.php
.
Vous devriez alors avoir sous les yeux une montagne d'informations sur votre serveur et sur PHP.
Si ce n'est pas le cas, je vous invite à suivre la même manœuvre que celle décrite plus haut, lors de l'installation.
Pour plus d'informations à propos du langage PHP, vous pouvez visiter le site http://www.php.net.
Pour installer MySQL, rendez-vous sur cette page.
Avoir une base MySQL est intéressant mais il serait encore plus intéressant que PHP5 puisse communiquer avec MySQL; c'est là la base de ce que l'on pourrait appeler le « Web 1.5 » : les informations ne sont plus directement écrites dans le fichier chargé par le serveur Web mais dans une base de données. Les CMS (Content Management System) utilisent largement cette méthode pour permettre à l'utilisateur de mettre du contenu en ligne sans avoir de connaissances particulières en programmation Web.
Donc, pour que MySQL puisse communiquer avec PHP5, il va falloir installer « php5-mysql ».
# apt-get install php5-mysql
Puis redémarrer lighttpd.
# /etc/init.d/lighttpd restart
On va ensuite tester la communication entre PHP et MySQL;
Pour cela, vous pouvez vous rendre sur phpinfo.php à la rubrique MySQL(phpinfo.php#module_mysql)
Ou créer un fichier php qui se connectera à votre base de données.
Créez ce fichier dans /var/www/
.
Ensuite, remplissez ce fichier comme suivi en remplaçant mdp-de-root par le mot de passe que vous avez choisi.
<html> <head> <title>Test MySQL</title> </head> <body> <?php $test_mysql = mysql_connect("127.0.0.1", "root", "mdp-de-root"); if($test_mysql) { print("La connexion est etablie !"); } else { print("La connexion n'a pas pu etre etablie"); } ?> </body> </html>
Si la page affiche « La connexion est etablie », c'est que tout va bien, sinon, jetez un œil aux logs de MySQL et de lighttpd.
Voilà, ce sera tout pour MySQL !
Pour installer un module complémentaire, utilisez la commande :
# lighty-enable-mod nom_du_module
Pour désinstaller un module complémentaire, utilisez la commande :
# lighty-disable-mod nom_du_module
Le module « userdir », de même que pour Apache, permettra aux utilisateurs de la machine hébergeant le serveur lighttpd d'avoir leurs pages personnelles sous la forme : http://serveur/~identifiant/.
Les pages HTML doivent alors être placées dans leur ~/public_html/
.
Pour activer ce module, entrez :
# lighty-enable-mod userdir
Voici, en vrac, une liste d'extensions pour php5 :
php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
Toutes ces extensions s'installent avec votre gestionnaire de paquets favori !
Les fichiers de configuration de lighttpd sont localisés dans le répertoire /etc/lighttpd
.
Les manuels respectifs de lighttpd, PHP et MySQL peuvent également vous aider !