1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_dav - Serveur HTTP Apache Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_dav</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_dav.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalité de création et gestion de versions de
documents via le web (<a href="http://www.webdav.org/">WebDAV</a>)</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module ajoute à Apache une fonctionnalité <a href="http://www.webdav.org">WebDAV</a> de classes 1 et 2
('Web-based Distributed Authoring and Versioning' ou Création et
gestion de versions de documents via le web). Il s'agit d'une
extension du protocole HTTP qui permet de créer, déplacer, copier et
supprimer des ressources ou collections de ressources sur un serveur
web distant.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#example">Activation de WebDAV</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes concernant la sécurité</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#complex">Configurations complexes</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#dav">Dav</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davbasepath">DavBasePath</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code></li>
<li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li>
<li><a href="http://www.webdav.org">Ressources WebDAV</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="example" id="example">Activation de WebDAV</a></h2>
<p>Pour activer le module <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, ajoutez la ligne
suivante à un conteneur de votre fichier <code>httpd.conf</code>
:</p>
<pre class="prettyprint lang-config">Dav On</pre>
<p>Ceci active le fournisseur de système de fichier DAV implémenté par
le module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Ce dernier doit donc être
compilé dans le serveur ou chargé au démarrage à l'aide de la
directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>.</p>
<p>En outre, vous devez indiquer où se trouve la base de données des
verrous DAV via une directive <code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> dans la section globale de
votre fichier <code>httpd.conf</code> :</p>
<pre class="prettyprint lang-config">DavLockDB /usr/local/apache2/var/DavLock</pre>
<p>Le répertoire contenant le fichier de la base de données des
verrous doit avoir des droits en écriture pour l'utilisateur et le
groupe sous lesquels Apache s'exécute et définis respectivement par
les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et
<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>.</p>
<p>Si vous souhaitez limiter l'accès aux répertoires où DAV est
activé, vous pouvez ajouter une clause <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> dans la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> considérée. Pour
définir la quantité maximale de données en octets qu'un client
DAV peut envoyer par requête, vous devez utiliser la directive
<code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code>, car La
directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>
"habituelle" n'a aucune incidence sur les requêtes DAV.</p>
<div class="example"><h3>Exemple complet</h3><pre class="prettyprint lang-config">DavLockDB "/usr/local/apache2/var/DavLock"
<Directory "/usr/local/apache2/htdocs/foo">
Require all granted
Dav On
AuthType Basic
AuthName DAV
AuthUserFile "user.passwd"
<LimitExcept GET POST OPTIONS>
Require user admin
</LimitExcept>
</Directory></pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">Problèmes concernant la sécurité</a></h2>
<p>Etant donné que les méthodes d'accès DAV permettent à des clients
distants de manipuler des fichiers sur le serveur, vous devez vous
assurer que votre serveur est bien sécurisé avant d'activer
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>.</p>
<p>Tout répertoire du serveur où DAV est activé doit être protégé
par une procédure d'authentification. L'utilisation de
l'authentification HTTP de base n'est pas recommandée. Vous devez
utiliser au moins l'authentification HTTP à base de condensés
qu'implémente le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>.
Pratiquement tous les clients WebDAV supportent cette méthode
d'authentification. Vous pouvez aussi utiliser l'authentification de
base sur une connexion où <a href="../ssl/">SSL</a> est activé.</p>
<p>Pour que <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> puisse manipuler des fichiers,
il doit avoir des permissions en écriture sur les répertoires et les
fichiers qui sont sous son contrôle ; en d'autre termes, c'est
l'utilisateur et le groupe sous lesquels Apache s'exécute et définis
par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et
<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> qui doivent avoir
les droits en écriture sur ces fichiers et répertoires. Les fichiers
nouvellement créés appartiendront aussi à ces utilisateur et groupe.
Par conséquent, il est important de contrôler l'accès à ce compte.
Les répertoires DAV sont considérés comme privés du point de vue
d'Apache, et la modification des fichiers qu'ils contiennent
autrement que par l'intermédiaire d'Apache (par exemple par FTP ou
par des outils du niveau du système de fichiers) ne doit pas être
permise.</p>
<p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> peut faire l'objet de plusieurs sortes
d'attaques par déni de service. La directive <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> permet de limiter la
quantité de mémoire consommée pour interpréter des requêtes DAV de
grande taille. En outre, la directive <code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> permet d'empêcher les
requêtes <code>PROPFIND</code> concernant un répertoire de très
grande taille de consommer de grandes quantités de mémoire. Un autre
type d'attaque par déni de service peut aussi être mené par un
client qui remplit simplement tout l'espace disque disponible avec
des fichiers de très grande taille. Etant donné qu'il n'existe aucun
moyen direct d'éviter ce genre d'attaque dans Apache, vous ne devez
accorder des accès DAV qu'à des utilisateurs de confiance.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="complex" id="complex">Configurations complexes</a></h2>
<p>Les requêtes ayant pour but de manipuler des fichiers dynamiques
(scripts PHP, scripts CGI, etc...) en utilisant
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sont courantes. Ce traitement n'est pas
évident car une requête
<code>GET</code> va toujours tenter d'exécuter le script, plutôt que
de télécharger son contenu. Pour éviter cet inconvénient, une
méthode possible consiste à faire correspondre deux URLs
différentes au même contenu, l'une d'entre elles servant à lancer le
script, alors que l'autre peut être utilisée pour le télécharger et
le manipuler avec DAV.</p>
<pre class="prettyprint lang-config">Alias "/phparea" "/home/gstein/php_files"
Alias "/php-source" "/home/gstein/php_files"
<Location "/php-source">
Dav On
ForceType text/plain
</Location></pre>
<p>Avec cette configuration, on peut utiliser
<code>http://example.com/phparea</code> pour afficher le résultat de
l'exécution des scripts PHP, et
<code>http://example.com/php-source</code> pour les manipuler avec
DAV.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="dav" id="dav">Directive</a> <a name="Dav" id="Dav">Dav</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les méthodes HTTP WebDAV</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Dav On|Off|<var>nom fournisseur</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Dav Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
</table>
<p>La directive <code class="directive">Dav</code> permet d'activer les
méthodes HTTP WebDAV pour le conteneur condidéré :</p>
<pre class="prettyprint lang-config"><Location "/foo">
Dav On
</Location></pre>
<p>La valeur <code>On</code> est en fait un alias vers le
fournisseur par défaut <code>filesystem</code> implémenté par le
module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Notez que lorsque DAV est activé
pour un conteneur, on <em>ne peut pas</em> le désactiver pour ses
sous-conteneurs. Pour un exemple de configuration complet,
reportez-vous à la <a href="#example">section précédente</a>.</p>
<div class="warning">
N'activez pas WebDAV tant que votre serveur n'est pas sécurisé. Si
vous passez outre cette recommandation, tout le monde pourra
enregistrer des fichiers sur votre système.
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="davbasepath" id="davbasepath">Directive</a> <a name="DavBasePath" id="DavBasePath">DavBasePath</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définir le chemin de la racine du répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavBasePath <var>root-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.58 du serveur HTTP Apache</td></tr>
</table>
<p>Si le répertoire DAV est défini en utilisant une correspondance
d'expression rationnelle (comme <code class="directive"><a href="../mod/core.html#locationmatch">LocationMatch</a></code>), <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> ne sera pas
en mesure de déterminer de lui-même la racine du répertoire à partir du chemin
seul. En conséquence, des fournisseurs tiers (par exemple le module <a href="https://svnbook.red-bean.com/en/1.7/svn.ref.mod_dav_svn.conf.html">mod_dav_svn</a>
de Subversion) pourront échouer à traiter des requêtes sans disposer de la
valeur correcte de la racine du répertoire.</p>
<p>Pour permettre aux fournisseurs de travailler correctement en présence
d'une telle configuration, vous devez utiliser
<code class="directive">DavBasePath</code>.</p>
<pre class="prettyprint lang-config"><LocationMatch "^/repos/">
Dav svn
DavBasePath /repos
SVNParentPath /var/svn
</LocationMatch></pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="davdepthinfinity" id="davdepthinfinity">Directive</a> <a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autorise les requêtes PROPFIND avec en-tête Depth:
Infinity</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavDepthInfinity on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavDepthInfinity off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
</table>
<p>La directive <code class="directive">DavDepthInfinity</code> permet
d'autoriser le traitement des requêtes <code>PROPFIND</code>
contenant l'en-tête Depth: Infinity. Par défaut, ce type de requête
n'est pas autorisé, car il peut favoriser les attaques de type Déni
de service.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="davmintimeout" id="davmintimeout">Directive</a> <a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée minimale pendant laquelle le serveur maintient un
verrou sur une ressource DAV</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavMinTimeout <var>secondes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavMinTimeout 0</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
</table>
<p>Lorsqu'un client demande le verrouillage d'une ressource DAV, il
peut aussi spécifier une durée au bout de laquelle le verrou sera
automatiquement supprimé par le serveur. Cette valeur ne constitue
qu'une demande, et le serveur peut l'ignorer ou informer le client
qu'il va utiliser une valeur arbitraire.</p>
<p>La directive <code class="directive">DavMinTimeout</code> permet de
spécifier, en secondes, la durée minimale de verrouillage à renvoyer
au client. Les Répertoires Web de Microsoft présentent une durée par
défaut de 120 secondes ; la directive
<code class="directive">DavMinTimeout</code> permet de définir une valeur
supérieure (par exemple 600 secondes), afin de réduire les risques
de perte du verrou par le client suite à une surcharge du
réseau.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/MSWord">
DavMinTimeout 600
</Location></pre>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_dav.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2025 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|