Chapitre 10 FreeDAV/WebDAV
10.1 Présentation de l'application DAV
Le protocole WebDAV permet aux utilisateurs d'éditer et de sauver les fichiers inclus dans les documents directement depuis leur traitement de texte, tableurs et autres logiciels d'édition de fichiers.
L'application DAV
de Dynacase gère deux serveurs WebDAV :
- un serveur authentifié par login et mot de passe, pour une utilisation classique au travers de client WebDAV tel que l'explorateur de fichier Microsoft Windows ;
- un serveur authentifié par identifiant de sessions pour être utilisé à travers l'interface Web d'échange de fichiers.
Lors de la modification de fichiers par l'interface Web, l'éditeur de fichier
utilise le serveur WebDAV authentifié par numéro de session. L'adresse de ce
serveur WebDAV doit être précisé dans le paramètre applicatif FREEDAV_SERVEUR
.
L'adresse du deuxième serveur doit être renseigné dans le paramètre
WEBDAV_SERVEUR
(accessible depuis le menu
administration/paramètres de configuration/paramètres applicatif/dav).
Ces deux serveurs doivent avoir deux noms distincts du nom de la machine pour
l'accès à l'interface web. Ces deux noms désignent la même machine (alias DNS)
que le serveur WEB. Le serveur Web Apache doit être configuré pour avoir deux
hôtes virtuels (Apache VirtualHost
) correspondant aux deux
serveurs DAV.
10.2 Configuration des postes client éditer et sauver en ligne
10.2.1 Windows
Le navigateur Web ne peut pas nativement exécuter un autre programme. Pour
autoriser votre navigateur à ouvrir les éditeurs vous devez installer deux
fichiers sur votre poste client opendav.reg
et opendav.vbs
:
- https://eec.anakeen.com/public/dav/windows/opendav.reg
- https://eec.anakeen.com/public/dav/windows/opendav.vbs
Pour enregistrer le protocole pour le navigateur, il faut double-cliquer sur
l'icône du fichier opendav.reg
que vous avez téléchargé. Ensuite il faut
enregistrer le fichier opendav.vbs
dans le répertoire C:\WINDOWS\
.
Après cette manipulation à partir de votre navigateur Internet Explorer ou Firefox, vous pouvez éditer et enregistrer les fichiers comme s'ils étaient sur votre disque dur.
Lorsque vous cliquez sur le lien Ouvrir dans un éditeur
, une interface vous
demande de choisir le programme capable de lire le fichier. Pour enregistrer le
fichier sur le serveur, une fois les modifications effectuées, il suffit
d'utiliser le menu enregistrer de l'éditeur comme d'habitude
Notes :
- Une mise à jour du client WebDAV/WebFolders de Windows est disponible, et corrige apparemment plusieurs problèmes comme la gestion des caractères accentués : http://support.microsoft.com/kb/907306
- Si votre accès Internet se fait via un proxy, il peut être nécessaire de modifier la configuration de votre poste.
10.2.2 Linux
Dans Firefox, entrez l'URL : about:config
Ajouter les options suivantes :
- [bouton droit > Nouvelle > Valeur booléenne]
- nom :
network.protocol-handler.external.asdav
- valeur :
true
- [bouton droit > Nouvelle > Chaîne de caractère]
- nom :
network.protocol-handler.app.asdav
- valeur :
dynacase-opendav.sh
Pour Firefox > 3.5, il faut aussi lancer deux commande à l'aide de gconftool-2 :
gconftool-2 -s /desktop/gnome/url-handlers/asdav/command '/path/to/app %s' --type String gconftool-2 -s /desktop/gnome/url-handlers/asdav/enabled --type Boolean true
Créer le fichier de commande dynacase-opendav.sh
suivant dans un répertoire
accessible par le PATH
système (/usr/local/bin/dynacase-opendav.sh
par
ex.) :
#!/bin/bash np=$(echo "$1" | sed "s/asdav:/http:/") ooffice "$np"
Rendre le script exécutable :
chmod +x /usr/local/bin/dynacase-opendav.sh
Il reçoit en argument l'URL du fichier à éditer. Cette URL est une ressource
asdav:
qui doit être transformée en http:
et être fournie à l'exécutable
Open Office.
Si la configuration n'est pas correcte, vous allez rencontrer ce message :
Si tout fonctionne correctement, vous allez avoir cette fenêtre :
10.2.3 Mac OS X
Télécharger et installer l'application Asdav.app
:
L'application Asdav.app
permet d'ouvrir les URLs asdav:
de Dynacase avec
OpenOffice, et donc d'éditer en ligne tous les types de fichiers supportés par
celui-ci.
Asdav.app
utilisera en premier OpenOffice.org.app
, et si celui-ci n'est pas
disponible il utilisera NeoOffice.org.app
.
Note pour les utilisateurs sous Mac OS X Tiger (10.4) :
OpenOffice.org.app 3.0.0 comporte un petit bug qui le rend inutilisable lorsqu'il est lancé par Asdav.app (c.f. http://www.openoffice.org/issues/show_bug.cgi?id=93731).
Pour contourner ce problème, il faut éditer le fichier
/Applications/OpenOffice.org.app/Contents/Info.plist
et changer la valeur de
la clef CFBundleExecutable
par soffice.bin
:
<key>CFBundleExecutable</key> <string>soffice.bin</string> [...]
Note : ce problème doit être à présent résolu à partir de OpenOffice.org 3.0.1
10.3 Configuration serveur web apache
L'utilisation de la fonction DAV nécessite la création de deux configurations Apache à base de VirtualHosts. Comme cette conf n'est pas accessible et réalisable par dynacase-control, vous devrez insérer les configurations données ci-dessous dans la configuration de votre serveur Apache.
10.3.1 Pré-requis
Ce module nécessite en pré-requis l'activation du module rewrite
:
# a2enmod rewrite # /etc/init.d/apache2 restart
10.3.2 Base de données webdav
L'utilisation du protocole dav utilise un schéma dav
dédié dans la base
données générale.
Les tables dav.locks
, dav.properties
et dav.sessions
sont automatiquement
crées lors de l'installation de dynacase-core.
10.3.3 VirtualHosts Apache pour l'accès aux fonctions WebDAV
Pour utiliser les fonctions d'édition et de montage WebDAV, vous devez mettre en place deux VirtualHosts Apache.
Pour cela, il vous faut déclarer deux noms DNS additionnels qui pointeront vers votre serveur Dynacase.
Exemple :
Soit un contexte dynacase installé dans le répertoire /var/www/ged
, et
accessible par l'enregistrement DNS ged.example.net
.
Vous pouvez créer deux enregistrements DNS ged-freedav.example.net
et
ged-webdav.example.net
qui pointeront vers ged.example.net
.
ged-freedav IN CNAME ged.example.net. ged-webdav IN CNAME ged.example.net.
Dans ce cas, les configurations associées seront :
- Configuration pour l'accès FreeDAV (édition en ligne) :
Fichier de configuration /etc/apache2/sites-available/default-freedav
<VirtualHost *:80> ServerName ged-freedav.example.net DocumentRoot /var/www/ged/freedav <Directory /var/www/ged/freedav/> Order allow,deny Allow from All DirectoryIndex index.php Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/freedav.error.log </VirtualHost>
Activer la configuration
# a2ensite ged-freedav # /etc/init.d/apache2 restart
- Configuration pour l'accès WebDAV (montage comme système de fichier) :
Fichier de configuration /etc/apache2/sites-available/ged-webdav
<VirtualHost *:80> ServerName ged-webdav.example.net DocumentRoot /var/www/ged/webdav <Directory /var/www/ged/webdav/> Order allow,deny Allow from All DirectoryIndex index.php Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/webdav.error.log </VirtualHost>
Activer la configuration
# a2ensite ged-webdav # /etc/init.d/apache2 restart
Remarque : Il est possible de vérifier avec votre navigateur que les deux VirtualHost fonctionnent correctement :
-
http://ged-freedav.example.net
: Doit afficher une page blanche ; -
http://ged-webdav.example.net
: Doit demander un mot de passe et afficher “WebDAV Server: HTML view is not implemented yet”.
10.4 Paramétrage de l'application dav
L'application dav comporte quatre paramètres accessibles via :
- menu “Administration”
- onglet “Paramètres applicatifs”
- section “Dav”
FREEDAV_SERVEUR
- adresse du serveur webdav pour freedav. Alias de nom de la machine serveur. Le virtual host associé ne doit pas être authentifié.
WEBDAV_SERVEUR
- adresse du serveur webdav pour le serveur authentifié. Alias de nom de la machine serveur. Le virtual host associé doit être authentifié.
WEBDAV_DB
- 3.2 R15 coordonnées d'accès à la base de données webdav. Doit être égale aux coordonnées de la base principale - automatiquement renseignée lors de l'installation.
WEBDAV_ROOTID
- Identifiant du dossier racine pour l'accès authentifié. Identifiant du document dossier pour la racine du webdav authentifié. Lors d'un usage combiné avec WORKSPACE, la référence désigne un document recherche simple qui recherche l'ensemble des espaces de travail.
WEBDAV_FOLDERMAXITEM
- Nombre maximum d'éléments (dossier/fichier) visibles dans un dossier. Cette limite permet d'éviter d'afficher trop d'éléments pouvant provoquer un ralentissement du client.
10.5 Test de débogage du dav
En cas de problème dans la mise en place de l'application dav, il est possible d'effectuer différents tests pour identifier la source du problème.
10.5.1 Test avec cadaver
Le client WebDAV cadaver
e n ligne de commande disponible sous Linux permet de
vérifier que la connexion au serveur webdav et au serveur freedav fonctionne
correctement :
$ cadaver ged-freedav dav:/>
$ cadaver ged-webdav Authentication required for on server `ged-webdav': Username: admin Password: ****** dav:/> ls Listing collection `/': succeeded. Coll: import 0 sep 17 16:25 Coll: la poubelle 0 sep 17 16:25 Coll: les cycles 0 sep 17 16:25 Coll: les familles 0 sep 17 16:25 Coll: les maisons 0 sep 17 16:25 Coll: les profils 0 sep 17 16:25 dav:/>
En cas de problèmes, regarder les éventuels messages d'erreur le error_log PHP ou Apache.
10.6 Troubleshoot de l'application dav
10.6.1 Delocker un document
Situation : Le document a été chargé en édition avec OpenOffice.org, et ce dernier s'est terminé anormalement en laissant le document locké au niveau WebDAV.
Solution : Identifier l'URL du document (ex.
asdav:/ /freedav.example.net/freedav/vid-12765-4870-3a0404dfe29f7c88bb58ac8a6943559d/Foo.odt
),
et supprimer le lock du document dans la table locks :
# PGSERVICE=dynacase psql \ -c "DELETE FROM dav.locks WHERE path = '/freedav/vid-12765-4870-3a0404dfe29f7c88bb58ac8a6943559d/Foo.odt'"
10.6.2 Lenteur d'ouverture des fichiers
Il arrive sur certains postes en Windows XP d'avoir des lenteurs d'accès aux documents : les temps d'accès constatés sont d'environ 30 secondes.
Ces problèmes sont inhérents à Windows, il existe 2 solutions possibles pour pallier à ces lenteurs :
10.6.2.1 1. Solution pour intranet (modification du serveur dynacase)
L'installation du service Samba (sur le serveur Dynacase) semble réduire dans certains cas le temps d'attente du poste Windows pour l'accès aux ressources WebDAV.
10.6.2.2 2. Solution pour tous les cas (modification de chaque poste client)
Dans certains cas, le changement d'ordre des "Fournisseurs de réseau" peut réduire le temps d'attente du poste Windows pour l'accès aux ressources WebDAV.
Pour cela, allez dans le panneau de configuration puis dans Connexions réseau / Avancé / Paramètres avancés :
Dans l'onglet “Ordre des fournisseurs”, vous placez “Web Client Network” en tête de liste :
Explication : lorsque vous cherchez à accéder à un serveur dav, le fournisseur réseau du dav devient prioritaire sur les autres services réseau, ce qui évite les problématiques de timeouts.
Par contre cela peut potentiellement engendrer d'autres lenteurs pour accéder à d'autres ressources réseau (serveur de fichier, active directory, …).
Cette solution est à appliquer au cas par cas.