Lighttpd est un serveur Web sécurisé, rapide et conforme aux normes conçu pour les environnements à vitesse critique. Ce tutoriel montre comment vous pouvez installer Lighttpd sur un serveur Debian Etch avec le support PHP5 (via FastCGI) et le support MySQL.
Je n'émets aucune garantie que cela fonctionnera pour vous !
1 Remarque préliminaire
Dans ce tutoriel, j'utilise le nom d'hôte server1.example.com avec l'adresse IP 192.168.0.100. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.
2 Installer MySQL 5.0
Nous installons d'abord MySQL 5.0 comme ceci :
apt-get install mysql-server mysql-client
Créez un mot de passe pour l'utilisateur root MySQL (remplacez yourrootsqlpassword par le mot de passe que vous souhaitez utiliser) :
mysqladmin -u root password yourrootsqlpassword
Vérifiez ensuite avec
netstat -tap | grep mysql
sur quelles adresses MySQL écoute. Si la sortie ressemble à ceci :
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld
ce qui signifie que MySQL écoute uniquement sur localhost.localdomain, alors vous êtes en sécurité avec le mot de passe que vous avez défini auparavant. Mais si la sortie ressemble à ceci :
tcp 0 0 *:mysql *:* LISTEN 2713/mysqld
vous devez également définir un mot de passe MySQL pour votre nom d'hôte, sinon n'importe qui peut accéder à votre base de données et modifier les données :
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
3 Installer Lighttpd
Lighttpd est disponible en tant que package Debian, nous pouvons donc l'installer comme ceci :
apt-get install lighttpd
Dirigez maintenant votre navigateur vers http://192.168.0.100, et vous devriez voir la page d'espace réservé Lighttpd :
La racine de document par défaut de Lighttpd est /var/www sur Debian, et le fichier de configuration est /etc/lighttpd/lighttpd.conf.
4 Installer PHP5
Nous pouvons faire fonctionner PHP5 dans Lighttpd via FastCGI. Heureusement, Debian fournit un package PHP5 compatible FastCGI que nous installons comme ceci :
apt-get install php5-cgi
5 Configuration de Lighttpd et PHP5
Pour activer PHP5 dans Lighttpd, nous devons modifier deux fichiers, /etc/php5/cgi/php.ini et /etc/lighttpd/lighttpd.conf. D'abord, nous ouvrons /etc/php5/cgi/php.ini et ajoutons la ligne cgi.fix_pathinfo =1 juste à la fin du fichier :
vi /etc/php5/cgi/php.ini
[...] cgi.fix_pathinfo = 1 |
Ensuite, nous ouvrons /etc/lighttpd/lighttpd.conf et ajoutons "mod_fastcgi", à la strophe server.modules :
vi /etc/lighttpd/lighttpd.conf
[...] server.modules = ( "mod_access", "mod_alias", "mod_accesslog", "mod_fastcgi", # "mod_rewrite", # "mod_redirect", # "mod_status", # "mod_evhost", # "mod_compress", # "mod_usertrack", # "mod_rrdtool", # "mod_webdav", # "mod_expire", # "mod_flv_streaming", # "mod_evasive" ) [...] |
puis tout à la fin du fichier, nous ajoutons la strophe suivante :
[...] fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" ))) |
Ensuite, nous redémarrons Lighttpd :
/etc/init.d/lighttpd restart
6 Tester PHP5 / Obtenir des détails sur votre installation PHP5
La racine du document du site Web par défaut est /var/www. Nous allons maintenant créer un petit fichier PHP (info.php) dans ce répertoire et l'appeler dans un navigateur. Le fichier affichera de nombreux détails utiles sur notre installation PHP, tels que la version PHP installée.
vi /var/www/info.php
<?php phpinfo(); ?> |
Maintenant, nous appelons ce fichier dans un navigateur (par exemple http://192.168.0.100/info.php) :
Comme vous le voyez, PHP5 fonctionne, et il fonctionne via FastCGI, comme indiqué dans la ligne API du serveur. Si vous faites défiler plus bas, vous verrez tous les modules déjà activés dans PHP5. MySQL n'y figure pas, ce qui signifie que nous n'avons pas encore de support MySQL dans PHP5.
7 Obtenir le support MySQL en PHP5
Pour obtenir le support MySQL en PHP, nous pouvons installer le package php5-mysql. C'est une bonne idée d'installer d'autres modules PHP5, car vous pourriez en avoir besoin pour vos applications. Vous pouvez rechercher les modules PHP5 disponibles comme ceci :
apt-cache search php5
Choisissez ceux dont vous avez besoin et installez-les comme ceci :
apt-get install php5-mysql 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
Une question comme celle-ci peut s'afficher :
Continuer l'installation de libc-client sans prise en charge de Maildir ? <-- Oui
Maintenant, redémarrez Lighttpd :
/etc/init.d/lighttpd restart
(Si vous avez installé le module php5-json et recevez des avertissements comme celui-ci :
PHP Warning: Module 'json' already loaded in Unknown on line 0
cela signifie que le module a été chargé deux fois. Ouvrez /etc/php5/cgi/php.ini, faites défiler jusqu'à la fin et commentez la ligne extension=json.so :
vi /etc/php5/cgi/php.ini
[...] ;extension=json.so [...] |
Puis redémarrez à nouveau Lighttpd :
/etc/init.d/lighttpd restart
Les avertissements devraient maintenant disparaître.)
Rechargez maintenant http://192.168.0.100/info.php dans votre navigateur et faites défiler à nouveau jusqu'à la section des modules. Vous devriez maintenant y trouver plein de nouveaux modules, dont le module MySQL :
8 liens
- Lighttpd :http://www.lighttpd.net
- PHP :http://www.php.net
- MySQL :http://www.mysql.com
- Debian :http://www.debian.org