1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1741842 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <manualpage metafile="public_html.xml.meta">
26 <parentdocument href="./">Recettes et tutoriels</parentdocument>
28 <title>Répertoires web utilisateurs</title>
31 <p>Sur les systèmes multi-utilisateurs, on peut permettre à chaque
32 utilisateur d'avoir un site web dans son répertoire home à l'aide de la
33 directive <directive module="mod_userdir">UserDir</directive>. Les
34 visiteurs de l'URL <code>http://example.com/~nom_utilisateur/</code>
35 recevront un contenu situé dans le répertoire home de l'utilisateur
36 "<code>nom_utilisateur</code>", et dans le sous-répertoire spécifié par
37 la directive <directive module="mod_userdir">UserDir</directive>.</p>
38 <p>Notez que par défaut, l'accès à ces répertoires n'est
39 <strong>pas</strong> permis. Vous pouvez en permettre l'accès à l'aide
40 de la directive <directive module="mod_userdir">UserDir</directive> en
41 décommentant la ligne</p>
43 #Include conf/extra/httpd-userdir.conf
45 <p>dans le fichier de configuration par défaut
46 <code>conf/httpd.conf</code>, et en adaptant le
47 fichier <code>httpd-userdir.conf</code> selon vos besoins, ou en
48 incluant les directives appropriées dans une section
49 <code>Directory</code> du fichier de configuration principal.</p>
52 <seealso><a href="../urlmapping.html">Mise en correspondance des URLs
53 avec le système de fichiers</a></seealso>
55 <section id="related">
56 <title>Répertoires web utilisateurs</title>
59 <module>mod_userdir</module>
62 <directive module="mod_userdir">UserDir</directive>
63 <directive module="core">DirectoryMatch</directive>
64 <directive module="core">AllowOverride</directive>
69 <section id="userdir">
70 <title>Définition du chemin des fichiers avec UserDir</title>
72 <p>La directive <directive module="mod_userdir">UserDir</directive>
73 permet de spécifier un répertoire à partir duquel le contenu de
74 l'utilisateur pourra être chargé. Elle peut revêtir plusieurs
77 <p>Si le chemin spécifié ne commence pas par un slash, il sera
78 interprété comme chemin relatif au répertoire home de l'utilisateur
79 considéré. Par exemple, avec cette configuration :</p>
81 <highlight language="config">UserDir public_html</highlight>
83 <p>l'URL <code>http://example.com/~rbowen/fichier.html</code>
84 correspondra au chemin fichier
85 <code>/home/rbowen/public_html/fichier.html</code></p>
87 <p>Si le chemin spécifié commence par un slash, le chemin du fichier
88 sera construit en utilisant ce chemin, suivi du nom de l'utilisateur
89 considéré. Par exemple, avec cette configuration :</p>
91 <highlight language="config">UserDir /var/html</highlight>
93 <p>l'URL <code>http://example.com/~rbowen/fichier.html</code>
94 correspondra au chemin fichier
95 <code>/var/html/rbowen/fichier.html</code></p>
97 <p>Si le chemin spécifié contient un astérisque (*), ce dernier sera
98 remplacé par le nom de l'utilisateur dans le chemin du fichier
99 correspondant. Par exemple, avec cette configuration :</p>
101 <highlight language="config">UserDir /var/www/*/docs</highlight>
103 <p>l'URL <code>http://example.com/~rbowen/fichier.html</code>
104 correspondra au chemin fichier
105 <code>/var/www/rbowen/docs/fichier.html</code></p>
107 <p>On peut aussi définir plusieurs répertoires ou chemins de
110 <highlight language="config">UserDir public_html /var/html</highlight>
112 <p>Avec l'URL <code>http://example.com/~rbowen/fichier.html</code>,
113 Apache va rechercher <code>~rbowen</code>. S'il ne le trouve pas,
114 Apache va rechercher <code>rbowen</code> dans
115 <code>/var/html</code>. S'il le trouve, l'URL ci-dessus correspondra
116 au chemin fichier <code>/var/html/rbowen/file.html</code></p>
120 <section id="redirect">
121 <title>Redirection vers des URLs externes</title>
122 <p>On peut utiliser la directive <directive
123 module="mod_userdir">UserDir</directive> pour rediriger les requêtes
124 relatives aux répertoires utilisateurs vers des URLs externes.</p>
126 <highlight language="config">UserDir http://example.org/users/*/</highlight>
128 <p>L'exemple ci-dessus va rediriger une requête pour
129 <code>http://example.com/~bob/abc.html</code> vers
130 <code>http://exemple.org/users/bob/abc.html</code>.</p>
133 <section id="enable">
134 <title>Définition de la liste des utilisateurs autorisés à utiliser
135 cette fonctionnalité</title>
137 <p>En suivant la syntaxe décrite dans la documentation de UserDir,
138 vous pouvez définir quels utilisateurs sont autorisés à utiliser
139 cette fonctionnalité :</p>
141 <highlight language="config">UserDir disabled root jro fish</highlight>
143 <p>La configuration ci-dessus va autoriser l'utilisation de la
144 fonctionnalité pour tous les utilisateurs, à l'exception de ceux
145 listés à la suite de l'argument <code>disabled</code>. De même, vous
146 pouvez interdire l'utilisation de la fonctionnalité à tous les
147 utilisateurs sauf certains d'entre eux en utilisant une
148 configuration du style :</p>
150 <highlight language="config">
152 UserDir enabled rbowen krietz
155 <p>Vous trouverez d'autres exemples dans la documentation de
156 <directive module="mod_userdir">UserDir</directive>.</p>
161 <title>Définition d'un répertoire CGI pour chaque utilisateur</title>
163 <p>Afin de réserver un répertoire cgi-bin pour chaque utilisateur,
164 vous pouvez utiliser une section <directive module="core"
165 type="section">Directory</directive> pour activer CGI dans un
166 sous-répertoire particulier d'un répertoire home utilisateur.</p>
168 <highlight language="config">
169 <Directory "/home/*/public_html/cgi-bin/">
171 SetHandler cgi-script
175 <p>Avec la configuration ci-dessus, et en supposant que
176 <code>UserDir</code> est défini à <code>public_html</code>, un
177 programme CGI <code>exemple.cgi</code> pourra être chargé depuis ce
178 répertoire en passant par l'URL :</p>
181 http://example.com/~rbowen/cgi-bin/exemple.cgi
186 <section id="htaccess">
187 <title>Permettre aux utilisateurs de modifier la
188 configuration</title>
190 <p>Si vous voulez que vos utilisateurs puissent modifier la
191 configuration du serveur pour ce qui concerne leur espace web, ils
192 devront utiliser des fichiers <code>.htaccess</code> pour effectuer
193 ces modifications. Assurez-vous d'avoir défini la directive
194 <directive module="core">AllowOverride</directive> à une valeur
195 appropriée pour les directives dont vous voulez permettre la
196 modification aux utilisateurs. Voir le <a
197 href="htaccess.html">tutoriel .htaccess</a> pour plus de détails sur
198 la manière dont tout ceci fonctionne.</p>