WebDAV Lighttpd · 3 min read · Dec 17, 2025

Comment installer WebDAV avec Lighttpd sur Debian 8 (Jessie)

Ce guide explique comment configurer WebDAV avec Lighttpd sur un serveur Debian 8 (Jessie). 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.

1 Remarque Préliminaire

J’utilise ici un serveur Debian 8 avec l’adresse IP 192.168.1.100. Ma configuration est basée sur le tutoriel du serveur minimal Debian, mais tout système Debian qui n’exécute pas encore de serveur web devrait convenir.

2 Installation de WebDAV

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

apt-get -y install lighttpd lighttpd-mod-webdav apache2-utils

Ensuite, nous devons nous assurer que le répertoire /var/run/lighttpd appartient à l’utilisateur et au groupe www-data. Ce répertoire contiendra une base de données SQLite nécessaire à WebDAV :

chown www-data:www-data /var/run/lighttpd/

Ensuite, nous activons les modules mod_auth et mod_webdav :

lighty-enable-mod auth  
lighty-enable-mod webdav

Rechargez Lighttpd ensuite :

service lighttpd force-reload

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 ajuster ce tutoriel à votre situation.

Tout d’abord, nous créons le répertoire /var/www/web1/web et faisons de l’utilisateur lighttpd ( www-data) le propriétaire de ce répertoire :

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

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

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

Ensuite, nous redémarrons lighttpd :

service lighttpd restart

4 Configurer l’Hôte Virtuel pour WebDAV

Maintenant, nous créons le fichier de mot de passe WebDAV /var/www/web1/passwd.dav avec l’utilisateur test (l’option -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 l’option -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 www-data puissent y accéder :

chown root:www-data /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 :

nano /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($|/)" {
    webdav.activate = "enable"
    webdav.is-readonly = "disable"  
    dir-listing.activate = "enable"
    webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db"
    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. Tous les autres URL de ce vhost sont toujours des HTTP “normaux”.

Redémarrez Lighttpd ensuite :

service lighttpd restart

5 Tester WebDAV

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

apt-get -y install cadaver

Pour tester si WebDAV fonctionne, tapez :

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

Vous devriez être invité à entrer le 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:/home/administrator# 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:/home/administrator#

6 Liens

Share: X/Twitter LinkedIn

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

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