SliTaz GNU/Linux official and community documentation wiki.
.png
Translations of this page:

Serveur web LightTPD

À propos de LightTPD

Ce chapitre décrit l'utilisation et la configuration du serveur web LightTPD. C'est un serveur HTTP sécurisé, rapide, flexible, et utilisant une petite empreinte mémoire. Il permet une gestion intelligente de la charge CPU, le support FastCGI, CGI, Auth, Output-Compression, réécriture d'URL, etc. LightTPD est un serveur idéal pour héberger son propre site sur une ancienne machine et donc à moindre frais.

Sur SliTaz le serveur web peut être automatiquement lancé au boot du système et il est préconfiguré avec PHP. La racine des documents servis par défaut par le serveur sont dans /var/www et contient une page index.html, s'affichant par défaut, avec des images dans le répertoire images/. Site web de LightTPD : http://www.lighttpd.net/

Pour installer LightTPD :

 # tazpkg get-install lighttpd

/var/www - Racine des documents du serveur

Le répertoire /var/www est le répertoire racine des documents servis par défaut. Vous y avez accès via l'URL http://localhost/. Ce répertoire contient un page index.html s'affichant automatiquement lors d'une requête. Si vous ne voulez héberger qu'un site, vous pouvez mettre tous les documents dans /var/www, et si vous voulez héberger plusieurs sites, il faut créer des hôtes virtuels. Notez que vous pouvez également consulter l'état du serveur à http://localhost/server-status.

~/Public - Répertoire public des utilisateurs

SliTaz propose aux utilisateurs du système d'avoir un espace public pour y mettre des documents, HTML en général. Ce répertoire se nomme Public et doit se trouver à la racine de votre répertoire maison, tel que : /home/tux/Public. Pour créer ce répertoire vous pouvez utiliser la commande :

 $ mkdir ~/Public 

Vous pouvez ensuite y avoir accès via l'URL http://localhost/~user/. Exemple pour l'utilisateur tux : http://localhost/~tux/. Vous pouvez aussi utiliser le nom de machine ou l'adresse IP, pour vous y connecter depuis une autre machine.

/etc/lighttpd/lighttpd.conf - Fichier de configuration de LightTPD

Le fichier de configuration principal de LightTPD se trouve dans /etc/lighttpd, et se nomme lighttpd.conf. Le fichier de configuration fourni par SliTaz est auto documenté, il suffit de le parcourir. Vous trouverez d'autres exemples sur le site web de LightTPD. Sur SliTaz vous trouverez aussi un fichier vhosts.conf destiné à la configuration d'éventuels hôtes virtuels (pour héberger plusieurs sites sur le même serveur).

Démarrer, arrêter, redémarrer le serveur web

Pour démarrer, arrêter, redémarrer le serveur web vous pouvez utiliser la commande /etc/init.d/lighttpd [start|stop|restart]. Exemple pour redémarrer le serveur après modification du fichier de configuration :

 # /etc/init.d/lighttpd restart 

Vous pouvez aussi utiliser Menu → Outils Système → Gérer les serveurs. Si vous démarrez LightTPD de cette manière, il sera automatiquement lancé au prochain démarrage (dans le cas d'une installation “en dur”). Sinon, vous pouvez l'ajouter à la liste des démons à démarrer en ajoutant lighttpd aux variables RUN_DAEMONS dans le fichier de configuration du système d'initialisation /etc/rcS.conf.

Scripts CGI et Perl

Pour configurer le serveur LightTPD afin qu'il trouve le chemin du binaire perl et l'utiliser avec les scripts CGI/Perl, vous devez modifier le fichier de configuration du serveur. Exemple en utilisant Beaver :

 # tazpkg get-install perl
 # beaver /etc/lighttpd/lighttpd.conf & 
# CGI module. You can install Perl and assign .pl and .cgi scripts
# to /usr/bin/perl
$HTTP["url"] =~ "/cgi-bin/" {
  cgi.assign = (
    ".sh" => "/bin/sh",
    ".cgi" => "/usr/bin/perl",
    ".pl" => "/usr/bin/perl"
  )
}

Scripts CGI et Python

Pour configurer le serveur LightTPD afin qu'il trouve le chemin du binaire python et l'utiliser avec les scripts CGI/Python, vous devez avoir installé le paquet Python et modifié le fichier de configuration du serveur. Pour installer Python et éditer le fichiers de configuration du serveur web en utilisant Beaver :

 # tazpkg get-install python
 # beaver /etc/lighttpd/lighttpd.conf &
# CGI module. You can install Python and assign .py and .cgi scripts
# to /usr/bin/python
$HTTP["url"] =~ "/cgi-bin/" {
  cgi.assign = (
    ".sh" => "/bin/sh",
    ".cgi" => "/usr/bin/python",
    ".py" => "/usr/bin/python"
  )
}

Pour que les modifications soient prisent en compte, et utiliser vos premier scripts CGI/Python sur SliTaz, vous devez encore redémarrer LightTPD :

 # /etc/init.d/lighttpd restart 

Authentification - Protéger des répertoires

LightTPD fournit un module d'authentification permettant, par exemple, de protéger un répertoire. Le serveur propose plusieurs méthodes d'authentification, pour commencer nous allons utiliser la méthode basique sans cryptage des mots de passe. Afin de pouvoir charger le module mod_auth, vous devez avoir installé le paquet lighttpd-modules (tazpkg get-install lighttpd-modules). Une fois le paquet installé il faut ajouter mod_auth à la liste des modules :

# Modules to load.
# See /usr/lib/lighttpd for all available modules.
#
server.modules = (
  "mod_access",
  "mod_auth",
  "...",
)

Maintenant vous pouvez configurer les modules en spécifiant le niveau de debug, la méthode (plain) et le chemin vers le fichier qui contiendra la liste des noms:passe autorisés à voir le ou les répertoires protégés. Il faut aussi définir le ou les répertoires qui demandent une authentification. Dans cet exemple nous protégeons le répertoire admin/ et autorisons son accès à l'utilisateur tux (user=tux) :

# Authentication for protected directory.
auth.debug = 2
auth.backend = "plain"
auth.backend.plain.userfile = "/etc/lighttpd/plain.passwd"
auth.require = ( "/admin/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=tux"
)
)

Pour finir il suffit de créer le fichier des mots de passe, d'ajouter un utilisateur et de redémarrer le serveur pour tester. La syntaxe pour les fichiers basiques est nom:passe. Vous pouvez créer et ajouter un utilisateur à ce fichier avec la commande echo ou l'éditer avec votre éditeur de texte préféré. Pour un utilisateur:motdepasse tux:root dans un fichier de mots de passe /etc/lighttpd/plain.passwd :

 # echo "tux:root" > /etc/lighttpd/plain.passwd

Ou :

 # nano /etc/lighttpd/plain.passwd

Pour redémarrer le serveur et ensuite tester avec une adresse du type http://localhost/admin/ :

 # /etc/init.d/lighttpd restart 
 
fr/handbook/webserver.txt · Last modified: 2012/12/24 18:06 by mojo