slitaz-doc-wiki-data view pages/fr/handbook/webserver.txt @ rev 4

Add pages/fr folder.
author Christopher Rogers <slaxemulator@gmail.com>
date Sat Feb 26 12:13:35 2011 +0000 (2011-02-26)
parents
children 7f77649ceb97
line source
1 ====== Serveur web LightTPD ======
3 ===== A propos de LightTPD =====
5 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.
7 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/
9 Pour installer LightTPD :
10 <code> # tazpkg get-install lighttpd</code>
12 ===== /var/www - Racine des documents du serveur =====
14 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 document dans ///var/www//, et si vous voulez héberger plusieurs sites, il faut créer des hôtes virtuels.
17 ===== ~/Public - Répertoire public des utilisateurs =====
19 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 :
21 <code> $ mkdir ~/Public </code>
23 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.
25 =====/etc/lighttpd/lighttpd.conf - Fichier de configuration de LightTPD=====
27 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).
30 =====Démarrer, arrêter, redémarrer le serveur web=====
32 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 :
34 <code> # /etc/init.d/lighttpd restart </code>
36 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//.
38 ===== Scripts CGI et Perl =====
40 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 :
42 <code> # tazpkg get-install perl
43 # beaver /etc/lighttpd/lighttpd.conf & </code>
44 <code>
45 # CGI module. You can install Perl and assign .pl and .cgi scripts
46 # to /usr/bin/perl
47 $HTTP["url"] =~ "/cgi-bin/" {
48 cgi.assign = (
49 ".sh" => "/bin/sh",
50 ".cgi" => "/usr/bin/perl,
51 ".pl" => "/usr/bin/perl
52 )
53 }
55 </code>
57 ===== Scripts CGI et Python =====
59 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 :
60 <code>
61 # tazpkg get-install python
62 # beaver /etc/lighttpd/lighttpd.conf &
63 </code>
64 <code>
65 # CGI module. You can install Python and assign .py and .cgi scripts
66 # to /usr/bin/python
67 $HTTP["url"] =~ "/cgi-bin/" {
68 cgi.assign = (
69 ".sh" => "/bin/sh",
70 ".cgi" => "/usr/bin/python,
71 ".py" => "/usr/bin/python
72 )
73 }
74 </code>
76 Pour que les modifications soient prisent en compte, et utiliser vos premier scripts CGI/Python sur SliTaz, vous devez encore redémarrer LightTPD :
78 <code> # /etc/init.d/lighttpd restart </code>
80 ===== Authentification - Protéger des répertoires =====
82 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 passes. 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 :
84 <code>
85 # Modules to load.
86 # See /usr/lib/lighttpd for all available modules.
87 #
88 server.modules = (
89 "mod_access",
90 "mod_auth",
91 "...",
92 )
93 </code>
95 Maintenant vous pouvez configurer le modules en spécifiant le niveau de //debug//, la méthode (//plain//) et le chemin vers le fichier qui contiendra la liste des //noms:pass// autorisés à voir le ou les répertoires protégés. Il faut aussi définir le ou les répertoires qui demandent authentification. Dans cet exemple nous protégeons le répertoire //admin/// et autorisons son accès à l'utilisateur tux (''user=tux'') :
97 <code>
98 # Authentication for protected directory.
99 auth.debug = 2
100 auth.backend = "plain"
101 auth.backend.plain.userfile = "/etc/lighttpd/plain.passwd"
102 auth.require = ( "/admin/" =>
103 (
104 "method" => "basic",
105 "realm" => "Password protected area",
106 "require" => "user=tux"
107 )
108 )
109 </code>
111 Pour finir il suffit de créer le fichier des mots de passes, d'ajouter un utilisateur et de redémarrer le serveur pour tester. La syntaxe pour les fichiers basiques est ''nom:pass''. 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 passes ///etc/lighttpd/plain.passwd// :
113 <code>
114 # echo "tux:root" > /etc/lighttpd/plain.passwd
115 Ou :
116 # nano /etc/lighttpd/plain.passwd
117 </code>
119 Pour redémarrer le serveur et ensuite tester avec une adresse du type http://localhost/admin/ :
121 <code> # /etc/init.d/lighttpd restart </code>