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 du protocole HTTP qui permet aux utilisateurs d'éditer directement des fichiers sur le serveur Lighttpdd afin qu'ils n'aient pas besoin d'être téléchargés/téléchargés via FTP. Bien entendu, WebDAV peut également être utilisé pour charger et télécharger des fichiers.
1 Remarque préliminaire
J'utilise un serveur Debian 8 avec l'adresse IP 192.168.1.100 ici. Ma configuration est basée sur le didacticiel du serveur minimal Debian, mais tout système Debian qui n'exécute pas encore de serveur Web devrait convenir.
2 Installer WebDAV
Vous pouvez installer lighttpd (s'il n'est pas déjà installé), le module lighttpd WebDAV et le package 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/lighthttpd/
Ensuite, nous activons les modules mod_auth et mod_webdav :
lighty-enable-mod auth
lighty-enable-mod webdav
Rechargez ensuite Lighttpd :
service lighttpd force-reload
3 Créer 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 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 :
redémarrage du service lighttpd
4 Configurer l'hôte virtuel pour WebDAV
Nous créons maintenant le fichier de mot de passe WebDAV /var/www/web1/passwd.dav avec le test utilisateur (le commutateur -c crée le fichier s'il n'existe pas) :
test htpasswd -c /var/www/web1/passwd.dav
Il vous sera demandé de saisir un mot de passe pour le test utilisateur.
(Veuillez ne pas utiliser le commutateur -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 de ce fichier !)
Nous modifions maintenant les autorisations du fichier /var/www/web1/passwd.dav afin que seuls root et les membres du groupe www-data puissent y accéder :
racine chown :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 appelé, mais vous pouvez toujours accéder à l'ensemble de la racine du document de le vhost. Toutes les autres URL de ce vhost sont toujours en HTTP "normal".
Redémarrez ensuite Lighttpd :
redémarrage du service lighttpd
5 Tester WebDAV
Nous allons maintenant installer cadaver, un client WebDAV en ligne de commande :
apt-get -y install cadavrePour tester si WebDAV fonctionne, tapez :
cadavre http://www.example.com/webdav/Vous devriez être invité à entrer le nom d'utilisateur. Tapez test puis le mot de passe pour le test utilisateur. Si tout se passe bien, l'accès devrait vous être accordé, ce qui signifie que WebDAV fonctionne correctement. Tapez quit pour quitter le shell WebDAV :
[email protected] :/home/administrator# cadaver http://www.example.com/webdav/
Authentification requise pour webdav sur le serveur `www.example.com' :
Nom d'utilisateur :test
Mot de passe :
dav:/webdav/> quit
Connexion à `www.example.com' fermée.
[email protected] :/home/administrator#
6 liens
- WebDAV :http://www.webdav.org/
- Lighttpd :http://www.lighttpd.net/
- Debian :http://www.debian.org/