WebDAV configuration · 4 min read · Dec 03, 2025

Comment configurer WebDAV avec Lighttpd sur Mandriva 2008.1

Comment configurer WebDAV avec Lighttpd sur Mandriva 2008.1

Version 1.0
Auteur : Falko Timme

Ce guide explique comment configurer WebDAV avec lighttpd sur un serveur Mandriva 2008.1. WebDAV signifie Web-based Distributed Authoring and Versioning et est un ensemble d’extensions au protocole HTTP qui permet aux utilisateurs d’éditer directement des fichiers sur le serveur lighttpd afin qu’ils n’aient pas besoin d’être téléchargés/téléversés via FTP. Bien sûr, WebDAV peut également être utilisé pour télécharger et téléverser des fichiers.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

J’utilise ici un serveur Mandriva 2008.1 avec l’adresse IP 192.168.0.100.

2 Installation de WebDAV

Avant d’installer des paquets, nous devons activer les dépôts main, main_updates, contrib et contrib_updates. Allez sur http://easyurpmi.zarb.org/ - cela devrait vous donner les commandes que vous devez exécuter pour activer ces dépôts. Dans mon cas, j’ai exécuté

urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/release with media_info/hdlist.cz
urpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.cz
urpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.cz
urpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.cz

Vous pouvez installer lighttpd (s’il n’est pas déjà installé), le module WebDAV de lighttpd et le paquet apache-base (qui contient l’outil htpasswd dont nous aurons besoin plus tard pour générer un fichier de mots de passe pour le partage WebDAV) comme suit :

urpmi lighttpd lighttpd-mod_webdav lighttpd-mod_auth apache-base

Si vous avez déjà Apache installé, vous devez l’arrêter maintenant et supprimer les liens de démarrage système d’Apache afin qu’il ne puisse pas interférer avec lighttpd (vous pouvez exécuter les deux commandes suivantes même si vous ne savez pas si vous avez Apache installé) :

/etc/init.d/httpd stop  
chkconfig httpd off

Ensuite, nous démarrons lighttpd :

/etc/init.d/lighttpd start

Ensuite, nous ouvrons /etc/lighttpd/lighttpd.conf et activons/ajoutons les modules mod_alias, mod_webdav et mod_auth dans le bloc server.modules (il est important que mod_webdav soit listé avant mod_auth !) :

vi /etc/lighttpd/lighttpd.conf

| [...] server.modules = ( # "mod_rewrite", # "mod_redirect", "mod_alias", "mod_access", # "mod_cml", # "mod_trigger_b4_dl", "mod_webdav", "mod_auth", # "mod_status", # "mod_setenv", # "mod_fastcgi", # "mod_proxy", # "mod_simple_vhost", # "mod_evhost", # "mod_userdir", # "mod_cgi", # "mod_compress", # "mod_ssi", # "mod_usertrack", # "mod_expire", # "mod_secdownload", # "mod_rrdtool", "mod_accesslog" ) [...] |

Redémarrez lighttpd ensuite :

/etc/init.d/lighttpd restart

3 Création d’un hôte virtuel

Je vais maintenant créer un vhost lighttpd ( www.example.com) dans le répertoire /var/www/web1/web. Si vous avez déjà un vhost pour lequel vous souhaitez activer WebDAV, vous devez adapter ce tutoriel à votre situation.

Tout d’abord, nous créons le répertoire /var/www/web1/web et faisons de l’utilisateur et du groupe lighttpd (ils sont nommés apache sur Mandriva !) le propriétaire de ce répertoire :

mkdir -p /var/www/web1/web  
chown apache:apache /var/www/web1/web

Ensuite, nous ouvrons /etc/lighttpd/lighttpd.conf et ajoutons le vhost suivant à la fin du fichier :

vi /etc/lighttpd/lighttpd.conf

| [...] $HTTP["host"] == "www.example.com" { server.document-root = "/var/www/web1/web" } |

Ensuite, nous redémarrons lighttpd :

/etc/init.d/lighttpd restart

4 Configurer l’hôte virtuel pour WebDAV

Maintenant, nous créons le fichier de mots de passe WebDAV /var/www/web1/passwd.dav avec l’utilisateur test (le switch -c crée le fichier s’il n’existe pas) :

htpasswd -c /var/www/web1/passwd.dav test

Vous serez invité à taper un mot de passe pour l’utilisateur test.

(Veuillez ne pas utiliser le switch -c si /var/www/web1/passwd.dav existe déjà car cela recréera le fichier à partir de zéro, ce qui signifie que vous perdrez tous les utilisateurs dans ce fichier !)

Maintenant, nous changeons les permissions du fichier /var/www/web1/passwd.dav afin que seul root et les membres du groupe apache puissent y accéder :

chown root:apache /var/www/web1/passwd.dav  
chmod 640 /var/www/web1/passwd.dav

Maintenant, nous modifions notre vhost dans /etc/lighttpd/lighttpd.conf pour qu’il ressemble à ceci :

vi /etc/lighttpd/lighttpd.conf

| [...] $HTTP["host"] == "www.example.com" { server.document-root = "/var/www/web1/web" alias.url = ( "/webdav" => "/var/www/web1/web" ) $HTTP["url"] =~ "^/webdav($|/)" { dir-listing.activate = "enable" webdav.activate = "enable" webdav.is-readonly = "disable" auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/var/www/web1/passwd.dav" auth.require = ( "" => ( "method" => "basic", "realm" => "webdav", "require" => "valid-user" ) ) } } |

La directive alias.url fait (avec $HTTP[“url”] =~ “^/webdav($|/)”) que lorsque vous appelez /webdav, WebDAV est invoqué, mais vous pouvez toujours accéder à l’ensemble du document racine du vhost. Toutes les autres URL de ce vhost sont toujours des HTTP “normaux”.

Redémarrez lighttpd ensuite :

/etc/init.d/lighttpd restart

5 Tester WebDAV

Nous allons maintenant installer cadaver, un client WebDAV en ligne de commande :

urpmi cadaver

Pour tester si WebDAV fonctionne, tapez :

cadaver http://www.example.com/webdav/

Vous devriez être invité à entrer un nom d’utilisateur. Tapez test puis le mot de passe pour l’utilisateur test. Si tout se passe bien, vous devriez avoir accès, ce qui signifie que WebDAV fonctionne correctement. Tapez quit pour quitter le shell WebDAV :

[root@server1 ~]# cadaver http://www.example.com/webdav/  
Authentication required for webdav on server `www.example.com':  
Username: test  
Password:  
dav:/webdav/> quit  
Connection to `www.example.com' closed.  
[root@server1 ~]#

6 Configurer un client Windows XP pour se connecter au partage WebDAV

Cela est décrit sur https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p2.

Veuillez spécifier le port dans l’URL WebDAV, par exemple http://www.example.com:80/webdav. Pour une raison étrange, cela fait que Windows XP accepte le nom d’utilisateur normal (par exemple test) - sinon Windows XP s’attend à des noms d’utilisateur NTLM (qui auraient la forme www.example.com\test).

7 Configurer un client Linux (GNOME) pour se connecter au partage WebDAV

Cela est décrit sur https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p3.

8 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.