A propos/How-To...
WebDAV [1] est une extension du protocole HTTP, permettant d’échanger des fichiers sur des serveurs distants (en général un accès en lecture/écriture à un répertoire d’un site web). Il permet ainsi de pouvoir facilement partager des fichiers entre plusieurs personnes, comme des fichiers sources d’un projet ou des ressources communes (ex : calendrier au format ical). C’est cette dernière utilisation qui m’a poussé à installer WebDAV chez moi : grâce au logiciel mozilla-calendar, sunbird ou phpicalendar, j’ai ainsi accès à mon agenda depuis n’importe où.
[Mise à jour le 06/02/2008] : pour utiliser un serveur WebDAV comme serveur de fichier à la mode FTP, voir le tutorial : Serveur de fichier avec WebDAV (apache2 + mod_dav).
Tutorial
Je suppose que vous avez déjà un serveur web apache2 configuré et fonctionnel...
Installer le module WebDAV :
- Pour apache1 :
# apt-get install libapache-mod-dav
- pour apache2 :
# apt-get install apache2-common
Charger le module WebDAV pour apache2
# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/dav.load .
# ln -s ../mods-available/dav_fs.load .
# ln -s ../mods-available/dav_fs.conf .
Créer le répertoires WebDAV : dans le tutorial, le répertoire WebDAV est /var/www/DAVdocs.
# cd /var/www
# mkdir DAVdocs
# chown www-data:www-data DAVdocs
# chmod 755 DAVdocs
Créer le fichier de lock /var/lock/apache2/DAVLock s’il n’existe pas encore (il est défini par défaut dans le fichier de configuration /etc/apache2/mods-available/dav_fs.conf).
# cd /var/lock/apache2
# touch DAVLock
# chown www-data:www-data DAVLock
Créer un login/mot de passe pour accéder au partage WebDAV. Le login/mot de passe sera stocké dans le fichier /etc/apache2/htpasswd-webdav. Pour créer un nouveau fichier de login/mot de passe, il faut passer le paramètre -c à la commande htpasswd.
# htpasswd -c /etc/apache2/htpasswd-webdav thus0
New password:
Re-type new password:
Adding password for user thus0
Rq : pour créer un autre utilisateur, tapez la commande suivante (sans le paramètre -c).
# htpasswd /etc/apache2/htpasswd-webdav petrus
New password:
Re-type new password:
Adding password for user petrus
Modifier le fichier /etc/apache2/sites-available/default
DAVMinTimeout 600
DAVDepthInfinity On
<Directory /var/www/DAVdocs>
DAV on
AuthName "WebDAV Storage"
AuthType Basic
AuthUserFile /etc/apache2/htpasswd-webdav
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user thus0 petrus
</Limit>
</Directory>
Si vous voulez autoriser tous les utilisateurs définis dans le fichier /etc/apache2/htpasswd-webdav, modifiez les lignes précédentes comme ceci :
DAVMinTimeout 600
DAVDepthInfinity On
<Directory /var/www/DAVdocs>
DAV on
AuthName "WebDAV Storage"
AuthType Basic
AuthUserFile /etc/apache2/htpasswd-webdav
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require valid-user
</Limit>
</Directory>
Vous pouvez également modifier le fichier /etc/apache2/sites-available/ssl.conf pour accéder en https à votre site web. Remarque : si vous n’avez pas de fichier ssl.conf, vous pouvez prendre en exemple le fichier /usr/share/doc/apache2/examples/ssl.conf.gz
Relancer apache2
# /etc/init.d/apache2 restart
Documentation
- http://shawnwall.com/teach/webdav-ical.php
- http://www.webdav.org/mod_dav/install.html
- http://www.debian-administration.org/articles/285
- http://lists.debian.org/debian-user/2005/11/msg00358.html
[1] Web-based Distributed Authoring and Versioning
Commentaires
1. mardi 27 septembre 2005 à 10:39, par yaourt
2. mardi 4 octobre 2005 à 17:17,
3. jeudi 22 mai 2008 à 10:27, par cemoi
Ajouter un commentaire