Qu’est ce que WebDav ?

WebDav (Web Distributed Authoring and Versioning) est une extension du protocole HTTP(S) permettant de partager un dossier et des fichiers depuis un serveur.
Pour l’utilisateur, le dossier partagé est accessible soit depuis un lecteur réseau, soit depuis le navigateur web.
Le protocole WebDav supporte l’authentification utilisateur pour plus de sécurité.
WebDav se configure avec le serveur Web Apache.

Installation

Préparation

Pour l’exemple le partage sera le contenu du dossier « web » et le dossier contenant les fichiers de configuration sera « folder ».
Il faudra remplacer ip-serveur par l’adresse ip du serveur WebDav.
Activation du module Apache.

sudo a2enmod dav_fs

Création des dossiers

mkdir /var/www/folder
mkdir /var/www/folder/web

Création d’un Virtual Host (copie du modèle par défaut)

# /etc/apache2/sites-available
sudo cp 000-default.conf my-dav.conf

Configuration du Virtual Host

Ajout des directives :

DocumentRoot /var/www/folder/web
<Directory /var/www/folder/web>
Options Indexes MultiViews
AllowOverride None 
Order allow,deny 
allow from all 
</Directory>

Configuration de WebDav

Création du fichier et des droits d’accès pour l’utilisateur « user »

Vous devez saisir les nouveaux identifiants de connexion.

htpasswd -c /var/www/folder/passwd.dav user

Le paramètre -c indique qu’il faut créer le fichier mot de passe.

Création des droits d’accès sur l’ip du serveur :

Vous devez saisir les nouveaux identifiants de connexion.

htpasswd /var/www/folder/passwd.dav ip-serveuruser

Réglage du propriétaire et des droits pour le fichier mot de passe

sudo chown root:www-data /var/www/folder/passwd.dav
sudo chmod 640 /var/www/folder/passwd.dav

Ajout des directives au Virtual Host

Alias /webdav /var/www/web1/web
<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/folder/passwd.dav
Require valid-user
</Location>

Réglage des droits pour le dossier partagé « web »

sudo chmod -R 777 /var/www/folder/web

Tester le dossier partagé avec l’outil cadaver

Installation

sudo apt-get install cadaver

Test

 cadaver http://localhost/webdav/

Vous pouvez tester depuis le serveur directement avec l’adresse localhost ou bien avec l’url ou ip du serveur distant.
Après avoir renseigné vos identifiants de connexion vous aurez accès au dossier en ligne de commande.