website diff doc/handbook/web-server.html @ rev 266
Add package-cooking.iso hybrid info
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Jan 30 14:55:14 2009 +0000 (2009-01-30) |
parents | |
children | a33277122930 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/doc/handbook/web-server.html Fri Jan 30 14:55:14 2009 +0000 1.3 @@ -0,0 +1,257 @@ 1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 1.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 1.7 +<head> 1.8 + <title>SliTaz Handbook - Serveur web LightTPD</title> 1.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 1.10 + <meta name="description" content="serveur wenhttpd LightTPD host hosting configuration perl python CGI auth" /> 1.11 + <meta name="expires" content="never" /> 1.12 + <meta name="modified" content="2007-12-03 12:30:00" /> 1.13 + <meta name="publisher" content="www.slitaz.org" /> 1.14 + <meta name="author" content="Christophe Lincoln"/> 1.15 + <link rel="shortcut icon" href="favicon.ico" /> 1.16 + <link rel="stylesheet" type="text/css" href="book.css" /> 1.17 +</head> 1.18 +<body bgcolor="#ffffff"> 1.19 + 1.20 +<!-- Header and quick navigation --> 1.21 +<div id="header"> 1.22 +<div align="right" id="quicknav"> 1.23 + <a name="top"></a> 1.24 + <a href="packages.html">Gestion des paquets</a> | 1.25 + <a href="index.html">Table des matières</a> 1.26 +</div> 1.27 +<h1><font color="#3E1220">SliTaz Handbook</font></h1> 1.28 +</div> 1.29 + 1.30 +<!-- Content. --> 1.31 +<div id="content"> 1.32 +<div class="content-right"></div> 1.33 + 1.34 +<h2><font color="#DF8F06">Serveur web LightTPD</font></h2> 1.35 + 1.36 +<ul> 1.37 + <li><a href="#about">A propos de LightTPD.</a></li> 1.38 + <li><a href="#var-www">/var/www</a> - Racine des documents du serveur.</li> 1.39 + <li><a href="#Public">~/Public</a> - Répertoire public des utilisateurs.</li> 1.40 + <li><a href="#config">lighttpd.conf</a> - Fichier de configuration de 1.41 + LightTPD.</li> 1.42 + <li><a href="#start-stop-restart">Démarrer, arrêter, redémarrer le 1.43 + serveur web.</a></li> 1.44 + <li><a href="http://localhost/">http://localhost/</a></li> 1.45 + <li><a href="http://localhost/server-status">http://localhost/server-status</a></li> 1.46 + <li><a href="#cgi-perl">Scripts CGI et Perl</a> - Configurer le serveur pour 1.47 + le support des scripts CGI utilisant Perl.</li> 1.48 + <li><a href="#cgi-python">Scripts CGI et Python</a> - Scripts CGI utilisant 1.49 + Python.</li> 1.50 + <li><a href="#auth">Authentification</a> - Protéger un ou des répertoires 1.51 + avec nom d'utilisateur et mots de passes.</li> 1.52 +</ul> 1.53 + 1.54 +<a name="about"></a> 1.55 +<h3><font color="#6c0023">A propos de LightTPD</font></h3> 1.56 +<p> 1.57 +Ce chapitre décrit l'utilisation et la configuration du serveur web LightTPD. 1.58 +C'est un serveur HTTP sécurisé, rapide, flexible, et utilisant une petite 1.59 +empreinte mémoire. Il permet une gestion intelligente de la charge CPU, et 1.60 +support FastCGI, CGI, Auth, Output-Compression, réécriture d'URL, etc. 1.61 +LightTPD est un serveur idéal pour héberger son propre site, sur une ancienne 1.62 +machine, et donc à moindre frais. 1.63 +</p> 1.64 +<p> 1.65 +Sur SliTaz le serveur web est automatiquement lancé au boot du système et il 1.66 +est préconfiguré avec PHP. La racine des documents servis par défaut par le 1.67 +serveur sont dans /var/www et contient une page <code>index.html</code>, 1.68 +s'affichant par défaut, avec des images dans le répertoire images/. Site web 1.69 +de LightTPD : <a href="http://www.lighttpd.net/">http://www.lighttpd.net/</a> 1.70 +</p> 1.71 +<a name="var-www"></a> 1.72 +<h3><font color="#6c0023">/var/www - Racine des documents du serveur</font></h3> 1.73 +<p> 1.74 +Le répertoire /var/www est le répertoire racine des documents servis par 1.75 +défaut. Vous y avez accès via l'url <a href="http://localhost/" 1.76 +>http://localhost/</a>. Ce répertoire contient un page index.html s'affichant 1.77 +automatiquement lors d'une requête. Si vous ne voulez héberger qu'un site, 1.78 +vous pouvez mettre tous les document dans /var/www, et si vous voulez héberger 1.79 +plusieurs sites, il faut créer des hôtes virtuels. 1.80 +</p> 1.81 +<a name="Public"></a> 1.82 +<h3><font color="#6c0023">~/Public - Répertoire public des utilisateurs</font></h3> 1.83 +<p> 1.84 +SliTaz propose aux utilisateurs du système d'avoir un espace public pour y 1.85 +mettre des documents, HTML en général. Ce répertoire se nomme Public et doit 1.86 +se trouver à la racine de votre répertoire maison, tel que : 1.87 +/home/hacker/Public. Pour créer ce répertoire vous pouvez utliser la commande : 1.88 +</p> 1.89 +<pre> 1.90 + $ mkdir ~/Public 1.91 +</pre> 1.92 +<p> 1.93 +Vous pouvez ensuite y avoir accès via l'url http://localhost/~user/. Exemple 1.94 +pour l'utilisateur hacker : 1.95 +<a href="http://localhost/~hacker/">http://localhost/~hacker/</a>. Vous pouvez 1.96 +aussi utiliser le nom de machine ou l'adresse IP, pour vous y connecter depuis 1.97 +une autre machine. 1.98 +</p> 1.99 +<a name="config"></a> 1.100 +<h3><font color="#6c0023">/etc/lighttpd/lighttpd.conf - Fichier de configuration de LightTPD</font></h3> 1.101 +<p> 1.102 +Le fichier de configuration principal de LightTPD se trouve dans 1.103 +/etc/lighttpd, et se nomme lighttpd.conf. Le fichier de configuration fourni 1.104 +par SliTaz est auto documenté, il suffit de le parcourir. Vous trouverez 1.105 +d'autres exemples sur le site web de LightTPD. Sur SliTaz vous touverez aussi 1.106 +un fichier <code>vhosts.conf</code> destiné à la configuration d'éventuels 1.107 +hôtes virtuels (pour hébérger plusieurs sites sur le même serveur). 1.108 +</p> 1.109 +<a name="start-stop-restart"></a> 1.110 +<h3><font color="#6c0023">Démarrer, arrêter, redémarrer le serveur web</font></h3> 1.111 +<p> 1.112 +Par défaut SliTaz démarre le serveur au boot, pour qu'il ne soit pas lancé 1.113 +automatiquement vous devez supprimer <code>lighttpd</code> de la variable 1.114 +RUN_DAEMONS qui elle, se trouve dans le fichier de configuration du système 1.115 +d'initialisation <code>/etc/rcS.conf</code>. Pour démarrer, arrêter, 1.116 +redémarrer le serveur web vous pouvez utiliser la commande 1.117 +<code>/etc/init.d/lighttpd [start|stop|restart]</code>. Exemple pour 1.118 +redémarrer le serveur après modification du fichier de configuration : 1.119 +</p> 1.120 +<pre> 1.121 + # /etc/init.d/lighttpd restart 1.122 +</pre> 1.123 + 1.124 +<a name="cgi-perl"></a> 1.125 +<h3><font color="#6c0023">Scripts CGI et Perl</font></h3> 1.126 +<p> 1.127 +Pour configurer le serveur LightTPD afin qu'il trouve le chemin du binaire 1.128 +<code>perl</code> et l'utiliser avec les scripts CGI/Perl, vous devez modifier 1.129 +le fichier de configuration du serveur. Exemple en utilisant Geany : 1.130 +</p> 1.131 +<pre> 1.132 + # geany /etc/lighttpd/lighttpd.conf & 1.133 +</pre> 1.134 +<pre class="script"> 1.135 +# CGI module. You can install Perl and assign .pl and .cgi script 1.136 +# to /usr/bin/perl 1.137 +$HTTP["url"] =~ "/cgi-bin/" { 1.138 + cgi.assign = ( 1.139 + ".sh" => "/bin/sh", 1.140 + ".cgi" => "/usr/bin/perl, 1.141 + ".pl" => "/usr/bin/perl 1.142 + ) 1.143 +} 1.144 +</pre> 1.145 + 1.146 +<a name="cgi-python"></a> 1.147 +<h3><font color="#6c0023">Scripts CGI et Python</font></h3> 1.148 +<p> 1.149 +Pour configurer le serveur LightTPD afin qu'il trouve le chemin du binaire 1.150 +<code>python</code> et l'utiliser avec les scripts CGI/Python, vous devez 1.151 +avoir installé le paquet Python et modifier le fichier de configuration du 1.152 +serveur. Pour installer Python et éditer le fichiers de configuration du 1.153 +serveur web en utilisant Geany : 1.154 +</p> 1.155 +<pre> 1.156 + # tazpkg get-install python 1.157 + # geany /etc/lighttpd/lighttpd.conf & 1.158 +</pre> 1.159 +<pre class="script"> 1.160 +# CGI module. You can install Perl and assign .pl and .cgi script 1.161 +# to /usr/bin/perl 1.162 +$HTTP["url"] =~ "/cgi-bin/" { 1.163 + cgi.assign = ( 1.164 + ".sh" => "/bin/sh", 1.165 + ".cgi" => "/usr/bin/python, 1.166 + ".py" => "/usr/bin/python 1.167 + ) 1.168 +} 1.169 +</pre> 1.170 +<p> 1.171 +Pour que les modifications soient prisent en compte, et utiliser vos premier 1.172 +scripts CGI/Python sur SliTaz, vous devez encore redémarrer LightTPD : 1.173 +</p> 1.174 +<pre> 1.175 + # /etc/init.d/lighttpd restart 1.176 +</pre> 1.177 + 1.178 +<a name="auth"></a> 1.179 +<h3><font color="#6c0023">Authentification - Protéger des répertoires</font></h3> 1.180 +<p> 1.181 +LightTPD fournit un module d'authentification permettant par exemple, de 1.182 +protéger un répertoire. Le serveur propose plusieurs méthodes d'authentification, 1.183 +pour commencer nous allons utiliser la méthode basique sans cryptage des mots 1.184 +de passes. Afin de pouvoir charger le module <code>mod_auth</code>, vous devez 1.185 +avoir installer le paquets lighttpd-modules (<code>tazpkg get-install 1.186 +lighttpd-modules</code>), une fois le paquet installé il faut ajouter 1.187 +<code>mod_auth</code> à la liste des modules : 1.188 +</p> 1.189 +<pre class="script"> 1.190 +# Modules to load. 1.191 +# See /usr/lib/lighttpd for all available modules. 1.192 +# 1.193 +server.modules = ( 1.194 + "mod_access", 1.195 + "mod_auth", 1.196 + "...", 1.197 +) 1.198 +</pre> 1.199 +<p> 1.200 +Maintenant vous pouvez configurer le modules en spécifiant le niveau de debug 1.201 +la méthode (<code>plain</code>) et le chemin vers le fichier qui contiendra la 1.202 +liste des noms:pass autorisés à voir le ou les répertoires protégés. Il faut 1.203 +aussi définir le ou les répertoires qui demandent authentification. Dans cet 1.204 +exemple nous protégeons le répertoire <code>admin/</code> et autorisons son 1.205 +accès à l'utililisateur hacker (<code>user=hacker</code>) : 1.206 +</p> 1.207 +<pre class="script"> 1.208 +# Authentification for protected directory. 1.209 +auth.debug = 2 1.210 +auth.backend = "plain" 1.211 +auth.backend.plain.userfile = "/etc/lighttpd/plain.passwd" 1.212 +auth.require = ( "/admin/" => 1.213 +( 1.214 +"method" => "basic", 1.215 +"realm" => "Password protected area", 1.216 +"require" => "user=hacker" 1.217 +) 1.218 +) 1.219 +</pre> 1.220 +<p> 1.221 +Pour finir il suffit de créer le fichier des mots de passes, d'ajouter un 1.222 +utilisateur et de redémarrer le serveur pour tester. La syntaxe pour les fichiers 1.223 +basiques est <code>nom:pass</code>. Vous pouvez créer et ajouter un utilisateur 1.224 +à ce fichier avec la commande <code>echo</code> ou l'éditer avec votre éditeur 1.225 +de texte préféré. Pour un utilisateur:motdepasse <code>hacker:root</code> dans 1.226 +un fichier de mots de passes <code>/etc/lighttpd/plain.passwd</code> : 1.227 +</p> 1.228 +<pre> 1.229 + # echo "hacker:root" > /etc/lighttpd/plain.passwd 1.230 + Ou/et : 1.231 + # nano /etc/lighttpd/plain.passwd 1.232 +</pre> 1.233 +<p> 1.234 +Pour redémarrer le serveur et ensuite tester avec une adresse du type 1.235 +http://localhost/admin/ : 1.236 +</p> 1.237 +<pre> 1.238 + # /etc/init.d/lighttpd restart 1.239 +</pre> 1.240 + 1.241 +<!-- End of content --> 1.242 +</div> 1.243 + 1.244 +<!-- Footer. --> 1.245 +<div id="footer"> 1.246 + <div class="footer-right"></div> 1.247 + <a href="#top">Haut de la page</a> | 1.248 + <a href="index.html">Table des matières</a> 1.249 +</div> 1.250 + 1.251 +<div id="copy"> 1.252 + Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> - 1.253 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 1.254 + Documentation publiées sous 1.255 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 1.256 + et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>. 1.257 +</div> 1.258 + 1.259 +</body> 1.260 +</html>