{{tag>application}} ====== Configurer WebDAV Avec Lighttpd ====== ===== Pré-requis ===== ===== Installation ===== Installez les paquets **[[apt>lighttpd,lighttpd-mod-webdav,apache2-utils]]** ou en ligne de commande : * sudo apt-get install lighttpd lighttpd-mod-webdav apache2-utils Le paquet apache2-utils contient l'outil **htpasswd** dont nous aurons besoin. Ensuite, créez le répertoire **/var/run/lighttpd** et faites-le appartenir à l'utilisateur et au groupe **www-data** : * sudo mkdir /var/run/lighttpd/ sudo chown www-data:www-data /var/run/lighttpd/ Ce répertoire contiendra une base de données SQLite nécessaire à WebDAV. Activez le module mod_auth : * sudo lighty-enable-mod auth [[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|ouvrez avec les droits d'administration]] le fichier **/etc/lighttpd/lighttpd.conf** pour vous assurer que les modules mod_alias et mod_webdav sont activés dans le paragraphe server.modules : [...] server.modules = ( "mod_access", "mod_alias", "mod_accesslog", # "mod_rewrite", # "mod_redirect", # "mod_status", # "mod_evhost", # "mod_compress", # "mod_usertrack", # "mod_rrdtool", "mod_webdav", # "mod_expire", # "mod_flv_streaming", # "mod_evasive" ) [...] Redémarrez ensuite lighttpd : * sudo /etc/init.d/lighttpd restart ==== Création d'un hôte virtuel ==== Créons maintenant un serveur virtuel lighttpd **www.example.com** dans le répertoire **/var/www/web1/web**. Si vous avez déjà un serveur virtuel pour lequel vous voulez activer WebDAV, adaptez ce tutoriel à votre situation. Tout d'abord, créez le répertoire **/var/www/web1/web** et faisons de l'utilisateur de lighttpd **www-data** le propriétaire de ce répertoire : * sudo mkdir -p /var/www/web1/web sudo chown www-data:www-data /var/www/web1/web [[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|Ouvrez avec les droits d'administration]] le fichier **/etc/lighttpd/lighttpd.conf** pour ajouter le serveur virtuel suivant à la fin du fichier : [...] $HTTP["host"] == "www.example.com" { server.document-root = "/var/www/web1/web" } et redémarrez lighttpd : * sudo /etc/init.d/lighttpd restart ===== Configuration ===== Configurons l''hôte virtuel pour WebDAV. N'utilisez pas le commutateur -c si **/var/www/web1/passwd.dav** existe déjà car cela va recréer le fichier à partir de zéro, ce qui signifie que vous perdez tous les utilisateurs dans ce fichier ! Maintenant, nous créons le fichier de mot de passe WebDAV **/var/www/web1/passwd.dav** avec l'utilisateur **test** (le commutateur-c crée le fichier s'il n'existe pas) : * sudo htpasswd -c /var/www/web1/passwd.dav test Vous serez invité à saisir un mot de passe pour l'utilisateur test. Maintenant, changez les permissions du fichier **/var/www/web1/passwd.dav** de sorte que seuls **root** et les membres du groupe **www-data** y ont accès : * sudo chown root:www-data /var/www/web1/passwd.dav sudo chmod 640 /var/www/web1/passwd.dav [[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|Ouvrez avec les droits d'administration]] le fichier **/etc/lighttpd/lighttpd.conf** pour qu'il se présente comme suit : $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" 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 (conjointement à $HTTP["url"] =~ "^/webdav($|/)") fait que, lorsque vous appelez /webdav, WebDAV est appelé, mais vous pouvez toujours accéder à l'ensemble du document racine du serveur virtuel. Toutes les autres URL de ce serveur virtuel sont encore en HTTP "normal". Redémarrez ensuite lighttpd : * sudo /etc/init.d/lighttpd restart ===== Utilisation ===== ==== Test de WebDAV ==== Installez le paquet **[[apt>cadaver]]**, un client WebDAV en ligne de commande : * sudo apt-get install 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 va bien, vous devriez bénéficier d'un accès qui signifie WebDAV fonctionne. Tapez quit pour quitter le shell de WebDAV: 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. server1:~# ==== Configurer un client Windows XP pour se connecter au partage WebDAV ==== D'après [[http://www.heise.de/netze/WebDAV-mit-Apache--/artikel/77605/3]] (en allemand), les clients Windows XP/SP2 ne prennent pas en charge l'authentification //Basic// avec WebDAV sauf si vous téléchargez ce fichier et modifiez le registre Windows : [[ftp://ftp.heise.de/pub/ct/listings/0504-202.zip]]. Le fichier contient un fichier .reg : double-cliquez dessus pour l'installer, puis redémarrez Windows. Après le redémarrage, cliquez sur //Favoris réseau// sur votre bureau (les captures d'écran sont sous un Windows allemand) : {{logiciel:internet:serveur:webdav-06.jpg|}} Sélectionnez //Ajouter un emplacement réseau// dans le menu //Voisinage réseau// (sur la gauche) : L'assistant //Ajouter un emplacement réseau// s'ouvre. Cliquez sur le bouton Suivant : {{logiciel:internet:serveur:webdav-09.png|}} Sélectionnez //Choisissez un autre emplacement réseau//, et cliquez sur Suivant : {{logiciel:internet:serveur:webdav-10.png|}} Entrez l'emplacement **http://192.168.0.100/webdav** et cliquez sur Suivant : {{logiciel:internet:serveur:webdav-11.png|}} Vous serez invité à entrer un nom d'utilisateur et un mot de passe. Tapez le nom d'utilisateur **test** et le mot de passe pour l'utilisateur **test** : {{logiciel:internet:serveur:webdav-12.png|}} Tapez un nom pour le dossier WebDAV : {{logiciel:internet:serveur:webdav-13.png|}} Pour ouvrir la nouvelle connexion, gardez cochée la boîte //Ouvrir ce site lorsque je clique sur Terminer// et cliquez sur Terminer : {{logiciel:internet:serveur:webdav-14.png|}} Le dossier WebDAV s'ouvre, vous pouvez parcourir le répertoire /var/www/web1/web et ses sous-répertoires sur le serveur et vous trouverez une icône pour votre nouveau partage WebDAV dans le dossier //Mon voisinage réseau// : {{logiciel:internet:serveur:webdav-15.png|}} Dans l'URL WebDAV, __spécifiez le port__ (par exemple [[http://www.example.com:80/webdav]]). Pour une raison étrange, cela permet à Windows XP d'accepter le nom d'utilisateur normal (par exemple, **test**) Sinon, Windows XP attend des noms d'utilisateurs NTLM (qui auraient la forme **www.example.com\test**). ==== Configurer un client Linux (GNOME) pour se connecter au partage WebDAV ==== Pour vous connecter au partage WebDAV à partir d'un bureau GNOME, dans le menu //Fichiers// de Nautilus, ouvrez //Se connecter au serveur...// : {{logiciel:internet:serveur:webdav-01.png|}} Sélectionnez WebDAV (HTTP) comme type de service, renseignez le serveur (frappe.maison 192.168.0.100 dans cet exemple), puis le dossier (webdav). Ne remplissez pas encore le nom d'utilisateur, sinon la connexion échoue. Cliquez sur Connexion : {{logiciel:internet:serveur:webdav-02.png|}} Entrez le nom d'utilisateur et son mot de passe puis cliquez sur Connexion : {{logiciel:internet:serveur:webdav-03.png|}} Vous pouvez obtenir l'erreur suivante... {{logiciel:internet:serveur:webdav-04.jpg|}} ... mais en même temps, WebDAV apparaît sur le bureau, ce qui signifie que vous pouvez ignorer l'erreur : {{logiciel:internet:serveur:webdav-05.png|}} Double-cliquez sur l'icône pour ouvrir le partage WebDAV ===== Désinstallation ===== ===== Voir aussi ===== * **(en)** WebDAV: [[http://www.webdav.org]] * **(en)** Lighttpd: [[http://www.lighttpd.net]] * **(en)** Debian: [[http://www.debian.org]] ---- //Contributeurs principaux : [[utilisateurs:jamaique]].// //Basé sur [[http://www.howtoforge.com/setting-up-webdav-with-lighttpd-debian-etch|« How To Set Up WebDAV With Lighttpd On Debian Etch »]] par Falko Timme.//