<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Module Apache mod_dav

Langues Disponibles:  en  |  fr  |  ja  |  ko 

Description:Fonctionnalit� de cr�ation et gestion de versions de documents via le web (WebDAV)
Statut:Extension
Identificateur�de�Module:dav_module
Fichier�Source:mod_dav.c

Sommaire

Ce module ajoute � Apache une fonctionnalit� WebDAV 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.

Directives

Sujets

Voir aussi

top

Activation de WebDAV

Pour activer le module mod_dav, ajoutez la ligne suivante � un conteneur de votre fichier apache2.conf :

Dav On

Ceci active le fournisseur de syst�me de fichier DAV impl�ment� par le module mod_dav_fs. Ce dernier doit donc �tre compil� dans le serveur ou charg� au d�marrage � l'aide de la directive LoadModule.

En outre, vous devez indiquer o� se trouve la base de donn�es des verrous DAV via une directive DavLockDB dans la section globale de votre fichier apache2.conf :

DavLockDB /usr/local/apache2/var/DavLock

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 User et Group.

Si vous souhaitez limiter l'acc�s aux r�pertoires o� DAV est activ�, vous pouvez ajouter une clause <Limit> dans la section <Location> 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 LimitXMLRequestBody, car La directive LimitRequestBody "habituelle" n'a aucune incidence sur les requ�tes DAV.

Exemple complet

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>
top

Probl�mes concernant la s�curit�

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 mod_dav.

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 mod_auth_digest. Pratiquement tous les clients WebDAV supportent cette m�thode d'authentification. Vous pouvez aussi utiliser l'authentification de base sur une connexion o� SSL est activ�.

Pour que mod_dav 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 User et Group 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.

mod_dav peut faire l'objet de plusieurs sortes d'attaques par d�ni de service. La directive LimitXMLRequestBody permet de limiter la quantit� de m�moire consomm�e pour interpr�ter des requ�tes DAV de grande taille. En outre, la directive DavDepthInfinity permet d'emp�cher les requ�tes PROPFIND 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.

top

Configurations complexes

Les requ�tes ayant pour but de manipuler des fichiers dynamiques (scripts PHP, scripts CGI, etc...) en utilisant mod_dav sont courantes. Ce traitement n'est pas �vident car une requ�te GET 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.

Alias /phparea /home/gstein/php_files
Alias /php-source /home/gstein/php_files
<Location /php-source>
Dav On
ForceType text/plain
</Location>

Avec cette configuration, on peut utiliser http://example.com/phparea pour afficher le r�sultat de l'ex�cution des scripts PHP, et http://example.com/php-source pour les manipuler avec DAV.

top

Dav Directive

Description:Active les m�thodes HTTP WebDAV
Syntaxe:Dav On|Off|nom fournisseur
D�faut:Dav Off
Contexte:r�pertoire
Statut:Extension
Module:mod_dav

La directive Dav permet d'activer les m�thodes HTTP WebDAV pour le conteneur condid�r� :

<Location /foo>
    Dav On
</Location>

La valeur On est en fait un alias vers le fournisseur par d�faut filesystem impl�ment� par le module mod_dav_fs. Notez que lorsque DAV est activ� pour un conteneur, on ne peut pas le d�sactiver pour ses sous-conteneurs. Pour un exemple de configuration complet, reportez-vous � la section pr�c�dente.

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.
top

DavDepthInfinity Directive

Description:Autorise les requ�tes PROPFIND avec en-t�te Depth: Infinity
Syntaxe:DavDepthInfinity on|off
D�faut:DavDepthInfinity off
Contexte:configuration du serveur, serveur virtuel, r�pertoire
Statut:Extension
Module:mod_dav

La directive DavDepthInfinity permet d'autoriser le traitement des requ�tes PROPFIND 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.

top

DavMinTimeout Directive

Description:Dur�e minimale pendant laquelle le serveur maintient un verrou sur une ressource DAV
Syntaxe:DavMinTimeout secondes
D�faut:DavMinTimeout 0
Contexte:configuration du serveur, serveur virtuel, r�pertoire
Statut:Extension
Module:mod_dav

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.

La directive DavMinTimeout 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 DavMinTimeout 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.

Exemple

<Location /MSWord>
    DavMinTimeout 600
</Location>

Langues Disponibles:  en  |  fr  |  ja  |  ko 

top

Commentaires

Notice:
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 again 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 Freenode, or sent to our mailing lists.