WebDAV

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Partage de fichiers WebDAV via Apache
Modules requis dav, dav_fs
Client Linux davfs2
Voir aussi Modules apache · Vhosts

WebDAV (Web Distributed Authoring and Versioning) est une extension du protocole HTTP qui permet de manipuler des fichiers distants comme un système de fichiers classique (lecture, écriture, verrouillage) plutôt qu'en simple consultation. Apache l'implémente via les modules mod_dav et mod_dav_fs.

Configuration côté serveur

apt-get install apache2
a2enmod dav_fs
mkdir -p /data/dav
systemctl restart apache2
# /etc/apache2/sites-enabled/dav.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /data/dav

    <Directory /data/dav>
        Options Indexes MultiViews
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Alias /webdav /data/dav

<Location /webdav>
    DAV On
    AuthType Basic
    AuthName "WebDAV"
    AuthUserFile /etc/apache2/htpasswd.dav
    Require valid-user
</Location>

(Require all granted remplace la syntaxe Apache 2.2 Order allow,deny de la source.)

Créer les identifiants d'accès

htpasswd -c /etc/apache2/htpasswd.dav admin
chown -R www-data:www-data /data/dav
chmod -R ug+rwx /data/dav
apache2ctl restart

htpasswd -c écrase le fichier s'il existe déjà — omettre -c pour ajouter un utilisateur supplémentaire à un fichier existant plutôt que de le recréer.

Monter le partage côté client Linux

apt-get install davfs2
dpkg-reconfigure davfs2   # configuration optionnelle (droits, cache)
mkdir /mnt/dav
mount.davfs 'http://exemple.tld/webdav' /mnt/dav

Entrée /etc/fstab pour un montage permanent, utilisable par un utilisateur non privilégié :

http://exemple.tld/webdav /mnt/dav davfs user,rw,noauto 0 0
mount /mnt/dav

Voir aussi