{{:lighttpd_button.png|logo Lighttpd}}


===== 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.
which means MySQL is listening on localhost.localdomain only, then you're safe with the password you set before.

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 :

{{:lighttpdindex.png|}}

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
