Et maintenant la partie la plus facile. Dans cette section, nous rendrons un répertoire situé à la racine d'Apache disponible à WebDAV.
Vérifiez que la directive Apache suivante apparaît dans le fichier
/usr/local/apache/conf/httpd.conf
:
Addmodule mod_dav.c
Si elle n'y est pas, ajoutez la. Cette directive informe Apache du support des fonctionnalités de DAV. La directive doit être placée à l'extérieur des conteneurs.
Ensuite nous devons déterminer où Apache stockera le fichier DAVLockDB. DAVLockDB est une base de données de verrouillage pour WebDAV. le processus httpd doit avoir les droits en écriture dans ce répertoire.
J'enregistre le fichier DAVLock sous
/usr/local/apache/var
. J'utilise aussi ce
répertoire pour d'autres besoins. Ajoutez la ligne suivante dans votre
fichier /usr/local/apache/conf/httpd.conf
pour
préciser que le fichier DAVLockDB est situé dans le répertoire
/usr/local/apache/var
:
DAVLockDB /usr/local/apache/var/DAVLock
La directive doit être placée à l'extérieur des conteneurs.
Comme il est mentionné plus haut, il faut créer un répertoire pour
DAVLockDB auquel le processus du serveur Web doit pouvoir accéder en
écriture. D'habitude, le processus du serveur Web s'exécute sous
l'utilisateur « nobody
». Vérifiez-le sur
votre système en utilisant la commande :
ps -ef | grep httpd
à partir de /usr/local/apache
. Créez le répertoire
et définissez ces permissions en utilisant les commandes
suivantes :
# cd /usr/local/apache # mkdir var # chmod -R 755 var/ # chown -R nobody var/ # chgrp -R nobody var/
Donner l'accès à DAV est une tâche insignifiante. Pour autoriser DAV à accéder à un répertoire situé sous la racine d'Apache, ajoutez simplement la directive suivante dans le conteneur de cette directive particulière :
DAV On
Cette directive autorisera DAV à accéder au répertoire et à ses sous-répertoires.
Ce qui suit est un exemple de configuration activant WebDAV et le
service d'authentification LDAP dans
/usr/local/apache/htdocs/DAVtest
. Placez ceci dans
le fichier /usr/local/apache/conf/httpd.conf
.
DavLockDB /tmp/DavLock <Directory "/usr/local/apache2/htdocs/DAVtest"> Options Indexes FollowSymLinks AllowOverride None order allow,deny allow from all AuthName "SMA Development server" AuthType Basic LDAP_Debug On #LDAP_Protocol_Version 3 #LDAP_Deref NEVER #LDAP_StartTLS On LDAP_Server you.ldap.server.com #LDAP_Port 389 # If SSL is on, must specify the LDAP SSL port, usually 636 LDAP_Port 636 LDAP_CertDbDir /usr/local/apache2/sslcert Base_DN "o=SDS" UID_Attr uid DAV On #require valid-user require valid-user #require roomnumber "123 Center Building" #require filter "(&(telephonenumber=1234)(roomnumber=123))" #require group cn=rcs,ou=Groups </Directory>
Comme il est mentionné dans une section précédente, le processus du
serveur Web doit avoir les droits en écriture dans tous les répertoires
DAV. Dans cet exemple nous considérons que le serveur Web s'exécute sous
l'utilisateur « nobody
». La plupart du
temps c'est le cas. Pour vérifier sous quel utilisateur httpd s'exécute,
saisissez :
# ps -ef | grep httpd
Créez un répertoire nommé « DAVtest
»
dans le répertoire /usr/local/apache/htdocs
:
# mkdir /usr/local/apache/htdocs/DAVtest
Changez les permissions du répertoire pour le rendre accessible au
processus httpd en lecture et écriture. Considérant que httpd s'exécute
sous l'utilisateur « nobody
», utilisez
les commandes suivantes :
# cd /usr/local/apache/htdocs # chmod -R 755 DAVtest/ # chown -R nobody DAVtest/ # chgrp -R nobody DAVtest/
Pour finir, vous devez exécuter la routine du test de configuration
fournie avec Apache pour vérifier la syntaxe du fichier
httpd.conf
:
# /usr/local/apache/bin/apachectl configtest
S'il y a des messages d'erreur, vérifiez que vous avez suivi
correctement toutes les étapes mentionnées ci-dessus. Si vous n'arrivez
pas à comprendre ce que signifie le message d'erreur, n'hésitez pas à
m'envoyer un courrier électronique (en anglais) avec le message d'erreur
(<saqib CHEZ seagate POINT com>
).
Si le test de configuration a réussi, démarrez le serveur Web Apache :
# /usr/local/apache/bin/apachectl restart
À présent, vous avez un serveur WebDAV Apache utilisant LDAP pour l'authentification et SSL pour le chiffrement.
Il est très important que le serveur WebDAV que nous venons juste d'installer soit totalement compatible avec le protocole WebDAV-2. S'il n'est pas totalement compatible, les applications WebDAV côté client pourront ne pas fonctionner correctement.
Pour tester la compatibilité nous utiliserons un outil nommé Litmus. Litmus est une suite de tests de compatibilité avec le protocole d'un serveur WebDAV, qui est destinée à tester si un serveur est compatible avec le protocole WebDAV selon les spécifications de la norme RFC2518.
Téléchargez les sources de Litmus du site http://www.webdav.org/neon/litmus/ et placez les dans le répertoire /tmp/downloads
Puis utilisez gzip et tar pour extraire les fichiers :
# cd /tmp/downloads # gzip -d litmus-0.6.x.tar.gz # tar -xvf litmus-0.6.x.tar # cd litmus-0.6.x
Il est facile de compiler et d'installer Litmus :
# ./configure # make # make install
make install installera les fichiers binaires de
Litmus dans les répertoires /usr/local/bin
et les
fichiers d'aide dans /usr/local/man
Pour tester la compatibilité du serveur WebDAV que vous venez d'installer, recourez à la commande suivante
# /usr/local/bin/litmus http://you.dav.server/DAVtest userid passwd