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

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