website annotate doc/handbook/web-server.html @ rev 144

en: Edit flavors page
author Paul Issott <paul@slitaz.org>
date Tue Aug 26 19:22:56 2008 +0000 (2008-08-26)
parents
children a33277122930
rev   line source
pankso@4 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
pankso@4 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
pankso@4 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
pankso@4 4 <head>
pankso@4 5 <title>SliTaz Handbook - Serveur web LightTPD</title>
pankso@4 6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
pankso@4 7 <meta name="description" content="serveur wenhttpd LightTPD host hosting configuration perl python CGI auth" />
pankso@4 8 <meta name="expires" content="never" />
pankso@4 9 <meta name="modified" content="2007-12-03 12:30:00" />
pankso@4 10 <meta name="publisher" content="www.slitaz.org" />
pankso@4 11 <meta name="author" content="Christophe Lincoln"/>
pankso@4 12 <link rel="shortcut icon" href="favicon.ico" />
pankso@4 13 <link rel="stylesheet" type="text/css" href="book.css" />
pankso@4 14 </head>
pankso@4 15 <body bgcolor="#ffffff">
pankso@4 16
pankso@4 17 <!-- Header and quick navigation -->
pankso@4 18 <div id="header">
pankso@4 19 <div align="right" id="quicknav">
pankso@4 20 <a name="top"></a>
pankso@4 21 <a href="packages.html">Gestion des paquets</a> |
pankso@4 22 <a href="index.html">Table des matières</a>
pankso@4 23 </div>
pankso@4 24 <h1><font color="#3E1220">SliTaz Handbook</font></h1>
pankso@4 25 </div>
pankso@4 26
pankso@4 27 <!-- Content. -->
pankso@4 28 <div id="content">
pankso@4 29 <div class="content-right"></div>
pankso@4 30
pankso@4 31 <h2><font color="#DF8F06">Serveur web LightTPD</font></h2>
pankso@4 32
pankso@4 33 <ul>
pankso@4 34 <li><a href="#about">A propos de LightTPD.</a></li>
pankso@4 35 <li><a href="#var-www">/var/www</a> - Racine des documents du serveur.</li>
pankso@4 36 <li><a href="#Public">~/Public</a> - Répertoire public des utilisateurs.</li>
pankso@4 37 <li><a href="#config">lighttpd.conf</a> - Fichier de configuration de
pankso@4 38 LightTPD.</li>
pankso@4 39 <li><a href="#start-stop-restart">Démarrer, arrêter, redémarrer le
pankso@4 40 serveur web.</a></li>
pankso@4 41 <li><a href="http://localhost/">http://localhost/</a></li>
pankso@4 42 <li><a href="http://localhost/server-status">http://localhost/server-status</a></li>
pankso@4 43 <li><a href="#cgi-perl">Scripts CGI et Perl</a> - Configurer le serveur pour
pankso@4 44 le support des scripts CGI utilisant Perl.</li>
pankso@4 45 <li><a href="#cgi-python">Scripts CGI et Python</a> - Scripts CGI utilisant
pankso@4 46 Python.</li>
pankso@4 47 <li><a href="#auth">Authentification</a> - Protéger un ou des répertoires
pankso@4 48 avec nom d'utilisateur et mots de passes.</li>
pankso@4 49 </ul>
pankso@4 50
pankso@4 51 <a name="about"></a>
pankso@4 52 <h3><font color="#6c0023">A propos de LightTPD</font></h3>
pankso@4 53 <p>
pankso@4 54 Ce chapitre décrit l'utilisation et la configuration du serveur web LightTPD.
pankso@4 55 C'est un serveur HTTP sécurisé, rapide, flexible, et utilisant une petite
pankso@4 56 empreinte mémoire. Il permet une gestion intelligente de la charge CPU, et
pankso@4 57 support FastCGI, CGI, Auth, Output-Compression, réécriture d'URL, etc.
pankso@4 58 LightTPD est un serveur idéal pour héberger son propre site, sur une ancienne
pankso@4 59 machine, et donc à moindre frais.
pankso@4 60 </p>
pankso@4 61 <p>
pankso@4 62 Sur SliTaz le serveur web est automatiquement lancé au boot du système et il
pankso@4 63 est préconfiguré avec PHP. La racine des documents servis par défaut par le
pankso@4 64 serveur sont dans /var/www et contient une page <code>index.html</code>,
pankso@4 65 s'affichant par défaut, avec des images dans le répertoire images/. Site web
pankso@4 66 de LightTPD : <a href="http://www.lighttpd.net/">http://www.lighttpd.net/</a>
pankso@4 67 </p>
pankso@4 68 <a name="var-www"></a>
pankso@4 69 <h3><font color="#6c0023">/var/www - Racine des documents du serveur</font></h3>
pankso@4 70 <p>
pankso@4 71 Le répertoire /var/www est le répertoire racine des documents servis par
pankso@4 72 défaut. Vous y avez accès via l'url <a href="http://localhost/"
pankso@4 73 >http://localhost/</a>. Ce répertoire contient un page index.html s'affichant
pankso@4 74 automatiquement lors d'une requête. Si vous ne voulez héberger qu'un site,
pankso@4 75 vous pouvez mettre tous les document dans /var/www, et si vous voulez héberger
pankso@4 76 plusieurs sites, il faut créer des hôtes virtuels.
pankso@4 77 </p>
pankso@4 78 <a name="Public"></a>
pankso@4 79 <h3><font color="#6c0023">~/Public - Répertoire public des utilisateurs</font></h3>
pankso@4 80 <p>
pankso@4 81 SliTaz propose aux utilisateurs du système d'avoir un espace public pour y
pankso@4 82 mettre des documents, HTML en général. Ce répertoire se nomme Public et doit
pankso@4 83 se trouver à la racine de votre répertoire maison, tel que :
pankso@4 84 /home/hacker/Public. Pour créer ce répertoire vous pouvez utliser la commande :
pankso@4 85 </p>
pankso@4 86 <pre>
pankso@4 87 $ mkdir ~/Public
pankso@4 88 </pre>
pankso@4 89 <p>
pankso@4 90 Vous pouvez ensuite y avoir accès via l'url http://localhost/~user/. Exemple
pankso@4 91 pour l'utilisateur hacker :
pankso@4 92 <a href="http://localhost/~hacker/">http://localhost/~hacker/</a>. Vous pouvez
pankso@4 93 aussi utiliser le nom de machine ou l'adresse IP, pour vous y connecter depuis
pankso@4 94 une autre machine.
pankso@4 95 </p>
pankso@4 96 <a name="config"></a>
pankso@4 97 <h3><font color="#6c0023">/etc/lighttpd/lighttpd.conf - Fichier de configuration de LightTPD</font></h3>
pankso@4 98 <p>
pankso@4 99 Le fichier de configuration principal de LightTPD se trouve dans
pankso@4 100 /etc/lighttpd, et se nomme lighttpd.conf. Le fichier de configuration fourni
pankso@4 101 par SliTaz est auto documenté, il suffit de le parcourir. Vous trouverez
pankso@4 102 d'autres exemples sur le site web de LightTPD. Sur SliTaz vous touverez aussi
pankso@4 103 un fichier <code>vhosts.conf</code> destiné à la configuration d'éventuels
pankso@4 104 hôtes virtuels (pour hébérger plusieurs sites sur le même serveur).
pankso@4 105 </p>
pankso@4 106 <a name="start-stop-restart"></a>
pankso@4 107 <h3><font color="#6c0023">Démarrer, arrêter, redémarrer le serveur web</font></h3>
pankso@4 108 <p>
pankso@4 109 Par défaut SliTaz démarre le serveur au boot, pour qu'il ne soit pas lancé
pankso@4 110 automatiquement vous devez supprimer <code>lighttpd</code> de la variable
pankso@4 111 RUN_DAEMONS qui elle, se trouve dans le fichier de configuration du système
pankso@4 112 d'initialisation <code>/etc/rcS.conf</code>. Pour démarrer, arrêter,
pankso@4 113 redémarrer le serveur web vous pouvez utiliser la commande
pankso@4 114 <code>/etc/init.d/lighttpd [start|stop|restart]</code>. Exemple pour
pankso@4 115 redémarrer le serveur après modification du fichier de configuration :
pankso@4 116 </p>
pankso@4 117 <pre>
pankso@4 118 # /etc/init.d/lighttpd restart
pankso@4 119 </pre>
pankso@4 120
pankso@4 121 <a name="cgi-perl"></a>
pankso@4 122 <h3><font color="#6c0023">Scripts CGI et Perl</font></h3>
pankso@4 123 <p>
pankso@4 124 Pour configurer le serveur LightTPD afin qu'il trouve le chemin du binaire
pankso@4 125 <code>perl</code> et l'utiliser avec les scripts CGI/Perl, vous devez modifier
pankso@4 126 le fichier de configuration du serveur. Exemple en utilisant Geany :
pankso@4 127 </p>
pankso@4 128 <pre>
pankso@4 129 # geany /etc/lighttpd/lighttpd.conf &amp;
pankso@4 130 </pre>
pankso@4 131 <pre class="script">
pankso@4 132 # CGI module. You can install Perl and assign .pl and .cgi script
pankso@4 133 # to /usr/bin/perl
pankso@4 134 $HTTP["url"] =~ "/cgi-bin/" {
pankso@4 135 cgi.assign = (
pankso@4 136 ".sh" => "/bin/sh",
pankso@4 137 ".cgi" => "/usr/bin/perl,
pankso@4 138 ".pl" => "/usr/bin/perl
pankso@4 139 )
pankso@4 140 }
pankso@4 141 </pre>
pankso@4 142
pankso@4 143 <a name="cgi-python"></a>
pankso@4 144 <h3><font color="#6c0023">Scripts CGI et Python</font></h3>
pankso@4 145 <p>
pankso@4 146 Pour configurer le serveur LightTPD afin qu'il trouve le chemin du binaire
pankso@4 147 <code>python</code> et l'utiliser avec les scripts CGI/Python, vous devez
pankso@4 148 avoir installé le paquet Python et modifier le fichier de configuration du
pankso@4 149 serveur. Pour installer Python et éditer le fichiers de configuration du
pankso@4 150 serveur web en utilisant Geany :
pankso@4 151 </p>
pankso@4 152 <pre>
pankso@4 153 # tazpkg get-install python
pankso@4 154 # geany /etc/lighttpd/lighttpd.conf &amp;
pankso@4 155 </pre>
pankso@4 156 <pre class="script">
pankso@4 157 # CGI module. You can install Perl and assign .pl and .cgi script
pankso@4 158 # to /usr/bin/perl
pankso@4 159 $HTTP["url"] =~ "/cgi-bin/" {
pankso@4 160 cgi.assign = (
pankso@4 161 ".sh" => "/bin/sh",
pankso@4 162 ".cgi" => "/usr/bin/python,
pankso@4 163 ".py" => "/usr/bin/python
pankso@4 164 )
pankso@4 165 }
pankso@4 166 </pre>
pankso@4 167 <p>
pankso@4 168 Pour que les modifications soient prisent en compte, et utiliser vos premier
pankso@4 169 scripts CGI/Python sur SliTaz, vous devez encore redémarrer LightTPD :
pankso@4 170 </p>
pankso@4 171 <pre>
pankso@4 172 # /etc/init.d/lighttpd restart
pankso@4 173 </pre>
pankso@4 174
pankso@4 175 <a name="auth"></a>
pankso@4 176 <h3><font color="#6c0023">Authentification - Protéger des répertoires</font></h3>
pankso@4 177 <p>
pankso@4 178 LightTPD fournit un module d'authentification permettant par exemple, de
pankso@4 179 protéger un répertoire. Le serveur propose plusieurs méthodes d'authentification,
pankso@4 180 pour commencer nous allons utiliser la méthode basique sans cryptage des mots
pankso@4 181 de passes. Afin de pouvoir charger le module <code>mod_auth</code>, vous devez
pankso@4 182 avoir installer le paquets lighttpd-modules (<code>tazpkg get-install
pankso@4 183 lighttpd-modules</code>), une fois le paquet installé il faut ajouter
pankso@4 184 <code>mod_auth</code> à la liste des modules :
pankso@4 185 </p>
pankso@4 186 <pre class="script">
pankso@4 187 # Modules to load.
pankso@4 188 # See /usr/lib/lighttpd for all available modules.
pankso@4 189 #
pankso@4 190 server.modules = (
pankso@4 191 "mod_access",
pankso@4 192 "mod_auth",
pankso@4 193 "...",
pankso@4 194 )
pankso@4 195 </pre>
pankso@4 196 <p>
pankso@4 197 Maintenant vous pouvez configurer le modules en spécifiant le niveau de debug
pankso@4 198 la méthode (<code>plain</code>) et le chemin vers le fichier qui contiendra la
pankso@4 199 liste des noms:pass autorisés à voir le ou les répertoires protégés. Il faut
pankso@4 200 aussi définir le ou les répertoires qui demandent authentification. Dans cet
pankso@4 201 exemple nous protégeons le répertoire <code>admin/</code> et autorisons son
pankso@4 202 accès à l'utililisateur hacker (<code>user=hacker</code>) :
pankso@4 203 </p>
pankso@4 204 <pre class="script">
pankso@4 205 # Authentification for protected directory.
pankso@4 206 auth.debug = 2
pankso@4 207 auth.backend = "plain"
pankso@4 208 auth.backend.plain.userfile = "/etc/lighttpd/plain.passwd"
pankso@4 209 auth.require = ( "/admin/" =>
pankso@4 210 (
pankso@4 211 "method" => "basic",
pankso@4 212 "realm" => "Password protected area",
pankso@4 213 "require" => "user=hacker"
pankso@4 214 )
pankso@4 215 )
pankso@4 216 </pre>
pankso@4 217 <p>
pankso@4 218 Pour finir il suffit de créer le fichier des mots de passes, d'ajouter un
pankso@4 219 utilisateur et de redémarrer le serveur pour tester. La syntaxe pour les fichiers
pankso@4 220 basiques est <code>nom:pass</code>. Vous pouvez créer et ajouter un utilisateur
pankso@4 221 à ce fichier avec la commande <code>echo</code> ou l'éditer avec votre éditeur
pankso@4 222 de texte préféré. Pour un utilisateur:motdepasse <code>hacker:root</code> dans
pankso@4 223 un fichier de mots de passes <code>/etc/lighttpd/plain.passwd</code> :
pankso@4 224 </p>
pankso@4 225 <pre>
pankso@4 226 # echo "hacker:root" > /etc/lighttpd/plain.passwd
pankso@4 227 Ou/et :
pankso@4 228 # nano /etc/lighttpd/plain.passwd
pankso@4 229 </pre>
pankso@4 230 <p>
pankso@4 231 Pour redémarrer le serveur et ensuite tester avec une adresse du type
pankso@4 232 http://localhost/admin/ :
pankso@4 233 </p>
pankso@4 234 <pre>
pankso@4 235 # /etc/init.d/lighttpd restart
pankso@4 236 </pre>
pankso@4 237
pankso@4 238 <!-- End of content -->
pankso@4 239 </div>
pankso@4 240
pankso@4 241 <!-- Footer. -->
pankso@4 242 <div id="footer">
pankso@4 243 <div class="footer-right"></div>
pankso@4 244 <a href="#top">Haut de la page</a> |
pankso@4 245 <a href="index.html">Table des matières</a>
pankso@4 246 </div>
pankso@4 247
pankso@4 248 <div id="copy">
pankso@4 249 Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> -
pankso@4 250 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
pankso@4 251 Documentation publiées sous
pankso@4 252 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
pankso@4 253 et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>.
pankso@4 254 </div>
pankso@4 255
pankso@4 256 </body>
pankso@4 257 </html>