| <?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="#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="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 2022 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> |