installation sur Debian etch
(traduction et adaptation de : http://www.howtoforge.com/lighttpd_mysql_php_debian_etch)
1. préambule
Lighttpd est un serveur web rapide, sécurisé, répondant aux normes et spécialement destiné aux environnements où la vitesse est une priorité.
Ce didacticiel montre l'installation sur Debian Etch de ce serveur avec support pour PHP5 (grâce à FastCGI) et MySQL.
Pour votre distribution, adaptez le nom des logiciels et les chemins des fichiers.
Ce didactitiel n'est qu'un guide et n'offre aucune garantie quant aux éventuels dysfonctionnements qui pourraient affecter votre machine (freeze, crash, fumées suspectes …).
2. installation de MySQL
On commence par installer MySQL et ses dépendances :
apt-get install mysql-server mysql-client
Il est nécessaire (impératif, même !) de crée un mot de passe root pour MySQL :
(!! Attention : il ne s'agit pas du même root que celui qui administre votre système Linux donc n'utilisez pas le même mot de passe !!)
mysqladmin -u root password mot_de_passe_root
Puis, pour identifier sur quel(s) port(s) écoute le serveur MySQL:
netstat -tap | grep mysql
vous devez voir ceci (ou approchant) :
tcp 0 0 localhost:mysql *:* LISTEN 2713/mysqld
ce qui signifie que seul localhost
est écouté par MySQL et qu'ainsi votre installation est sécurisé grâce au mot de passe précédemment défini.
si en revanche vous voyez ceci (ou approchant) :
tcp 0 0 *:mysql *:* LISTEN 2713/mysqld
il vous faudra également définir le même mot de passe root pour MySQL mais associé à votre localhost (et éviter que tout le monde ait accès à votre base et ce qu'elle contient) :
mysqladmin -h localhost -u root password mot_de_passe_root
3. installation de Lighttpd
Lighttpd est disponible dans les dépôts Debian. Ainsi :
apt-get install lighttpd
installera, configurera et démarrera votre serveur Lighttpd.
Rendez-vous maintenant dans votre navigateur et tapez http://localhost
ou http://127.0.0.1
.
Vous devriez avoir la page de garde de Lighttpd :
Par défaut, le répertoire principal de Lighttpd (le fameux document root) est /var/www
(comme Apache !).
Le fichier de configuration se trouve dans /etc/lighttpd/lighttpd.conf
.
4. installation de PHP5
PHP5 s'interface avec Lighttpd à travers FastCGI (tout comme les autres langages de script que sont Perl, Python ou Ruby).
Quelle chance ! Il y a justemment un paquet Debian qui fait ce travail :
apt-get install php5-cgi
Il en résulte la création d'un fichier de configuration : /etc/php5/cgi/php.ini
5. configuration de Lighttpd avec PHP5
Pour activer l'utilisation de PHP5 avec Lighttpd il vous faudra éditer deux fichiers :
/etc/php5/cgi/php.ini
et /etc/lighttpd/lighttpd.conf
.
Ouvrez d'abord le premier (logique !) et ajoutez cette ligne tout à la fin du fichier :
cgi.fix_pathinfo = 1
Ouvrez ensuite /etc/lighttpd/lighttpd.conf
et ajoutez mod_fastcgi
parmi les modules du serveur selon ce modèle :
[...] 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 même fichier, rajoutez ceci :
[...] fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" )))
Enfin, redémarrez le serveur :
/etc/init.d/lighttpd restart
6. test de PHP5
Rendez-vous dans le répertoire /var/www
et créez-y un fichier que vous appellerez info.php
.
Éditez ce fichier et ajoutez-y ceci :
<?php phpinfo(); ?>
Puis appelez ce fichier depuis votre navigateur : http://127.0.0.1/info.php
.
Comme vous pouvez le constater sur la ligne Server API, PHP est bien configuré pour être interprété par le serveur à l'aide de FastCGI.
En parcourant ce fichier vous verrez tous les modules déjà opérationnels avec PHP5… mais vous n'y verrez pas de modules MySQL !?
7. support de MysQL dans PHP5
Pour obtenir le support de MySQL dans PHP5 le plus simple est :
apt-get install php5-mysql
Si vous souhaitez quelque chose de plus précis et de mieux adapté à vos besoins, utilisez cette commande :
apt-cache search php5
et choisissez parmi la (longue) liste ceux qui vous intéressent !
Redémarrez le serveur :
/etc/init.d/lighttpd restart
Réouvrez votre navigateur à l'adresse http://127.0.0.1/info.php
et constatez cette fois la présence de MySQL (et des autres modules que vous auriez installés) !
Enjoy ! :)
8. liens
- Lighttpd: http://www.lighttpd.net
- PHP: http://www.php.net
- MySQL: http://www.mysql.com
- Debian: http://www.debian.org