Réutiliser un vieux chanteur

Publié le par Peck

Cet article est maintenant sur http://linux-attitude.fr/post/Reutiliser-un-vieux-chanteur

Niveau
:
Résumé: DAV On

Que vous hébergiez un site web ou que vous partagiez des données, il est fort probable que vous ayez un serveur FTP. C'est ce qui est souvent considéré comme le plus pratique pour permettre le dépôt de données. Et pourtant j'ai mieux à vous proposer.

Imaginez un outil permettant l'authentification, l'envoi et la réception de fichiers ou de répertoires, un protocole qui traverse les firewalls et qui supporte nativement le ssl, un outil très simple à mettre en place et surtout pour lequel tout le monde ou presque dispose d'un client.

Cet outil c'est webdav !

En effet tout le monde dispose d'un client webdav :
- gnome : urls en dav://serveur/ dans nautilus
- kde : url en webdav://serveur/ dans konqueror
- pur Linux : montage réseau avec davfs
- Windows XP : ouvrir une url (http://serveur/) en tant que dossier web dans internet explorer
- Windows Vista : monter un disque réseau

Ces clients permettent d'accéder à un partage webdav comme on le fait avec n'importe quel navigateur de fichier. De plus dans la plupart des cas il est possible d'éditer les fichiers inline (notez que pour windows XP, seules les applications Microsoft Office le peuvent).

Voilà pour la simplicité. D'autre part webdav est une extension de HTTP qui tourne sur le même port par défaut, par conséquent il traverse la plupart des firewalls et des proxy.

Et enfin voyons le côté serveur. Nous allons travailler à partir d'un serveur apache déjà installé. Si ce n'est pas le cas apt-get install apache2 vous en fournira un déjà configuré (attention cela ne fonctionne qu'à partir de la version 2).

Tout d'abord chargeons les modules qui conviennent.
Si vous êtes sous debian :
$ a2enmod dav_fs dav
Sinon éditer votre fichier de configuration apache et ajoutez
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule dav_fs_module /usr/lib/apache2/modules/mod_dav_fs.so

Maintenant activons webdav sur un des répertoire du serveur. Pour cela ajoutez les directives suivantes dans le virtualhost concerné :
<Location /writable>
</Location>

Et voilà, nous avons un répertoire accessible en lecture et écriture avec webdav. Vérifiez tout de même que l'utilisateur serveur apache a le droit d'écrire dans le répertoire en question.

Maintenant faisons un peu plus fin. Comme DAV permet l'écriture sur le serveur WEB, il nous faut être prudent. Gérons des droits d'accès différents en fonction des utilisateurs.

<Location /writable>
    Dav On
    <Limit GET HEAD OPTIONS>
        # Acces en lecture
    </Limit>
    <LimitExcept GET HEAD OPTIONS>
        # Ecces en ecriture
        AuthName "Acces limite au serveur WEBDAV"
        AuthUserFile /srv/http/users
        require valid-user
    </Limit>
</Location>


Petite note tout de même, même à l'intérieur d'une arborescence webdav, le php est interprété. Par conséquent, si vous voulez permettre la gestion d'un site PHP avec webdav, il vous faut créer un alias pour lequel le php n'est pas interprété mais qui sera servi par webdav (alias ou lien symbolique).

J'espère vous avoir convaincu de l'intérêt de webdav.

Publié dans admin

Pour être informé des derniers articles, inscrivez vous :

Commenter cet article