Comment installer WebDAV avec Lighttpd sur Debian 8 (Jessie)
Ce tutoriel existe pour ces versions d'OS
- Debian 8 (Jessie)
- Debian 5 (Lenny)
Sur cette page
- 1 note préliminaire
- 2 Installation de WebDAV
- 3 Création d'un hôte virtuel
- 4 Configurer l'hôte virtuel pour WebDAV
- 5 Tester WebDAV
- 6 liens
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 de modifier 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 Installation de 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/lighttpd/Ensuite, nous activons les modules mod_auth et mod_webdav :
lighty-enable-mod auth
lighty-enable-mod webdavRechargez ensuite Lighttpd :
service lighttpd force-reload3 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 lighttpd (www-data) le propriétaire de ce répertoire :
mkdir -p /var/www/web1/web
chown www-data:www-data /var/www/web1/webEnsuite, 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 restart4 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) :
htpasswd -c /var/www/web1/passwd.dav testIl 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 :
chown root:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.davMaintenant, 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 au toute la racine du document du vhost. Toutes les autres URL de ce vhost sont toujours en HTTP \normal\.
Redémarrez ensuite Lighttpd :
service lighttpd restart5 Tester WebDAV
Nous allons maintenant installer cadaver, un client WebDAV en ligne de commande :
apt-get -y install cadaverPour 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 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 :
:/home/administrator#6 Liens
- WebDAV : http://www.webdav.org/
- Lighttpd : http://www.lighttpd.net/
- Debian : http://www.debian.org/