Scribe 1.0-webdav

Un article de EoleWiki.

Sommaire

Gérer les applications Web par l'intermédiaire de Webdav

Problématique

Permettre à certains utilisateurs d'accéder au répertoire /var/www/html sans utiliser ssh.
Les solutions utilisant FTP proposées jusqu'à présent ne sont pas satisfaisantes.
L'utilisation du protocole Webdav est par contre tout à fait appropriée puisque les répertoires sont accédés avec les droits de l'utilsateur apache (ce qui par ailleurs n'est pas pratique lorsqu'il s'agit d'accéder aux répertoires personnels des utilisateurs).

Installation (Eole1)

  • Installer le paquet apache2-mod_dav :
    wget ftp://dev-eole.ac-dijon.fr/RPMS/apache2-mod_dav-2.0.47-1.9.91mdk.i586.rpm
    urpmi apache2-mod_dav-2.0.47-1.9.91mdk.i586.rpm
    
  • Droits sur la base de données de verrouillage de WebDAV :
    chown apache.apache /var/lib/dav
    
  • Configuration de Apache. L'exemple ci-dessous montre les lignes à ajouter dans le fichier httpd2.conf (création d'un patch Eole recommandée) pour les utilisateurs admin et henry.martin :
    Alias /dav /var/www/html
    <Directory "/var/www/html">
       DAV On
       Order Allow,Deny
       Allow from All
       AuthType Basic
       AuthName "Administration WEB"
       AuthLDAPEnabled on
       AuthLDAPGroupAttributeIsDN off
       AuthLDAPURL ldap://localhost/o=gouv,c=fr?uid?sub?(objectclass=administrateur)
       require user admin
       require user henry.martin
    </Directory>
    

Ne pas oublier de redémarrer apache


Utilisation et Evolution

Une fois ces manipulations réalisées, il est possible d'accéder aux fichiers en utilisant l'adresse webdav://<ip_scribe>/dav dans un client compatible (ex : Konqueror).

Cette fonctionnalité nous a déjà été demandée plusieurs fois. L'utilisation de Webdav semble bien adaptée à ce besoin.
Cette fonctionnalité sera donc certainement ajoutée au module.
Reste à définir quels comptes auront le droit d'accéder aux fichiers, si l'on restreint cet accés à Eva...


Installation pour EoleNg

  • Activer le mode dav d'apache
    a2enmod dav_fs
    
  • Créer le fichier de configuration /etc/apache2/sites-enabled/webdav.conf contenant
    Alias /dav /var/www/html
    <Directory "/var/www/html">
       DAV On
       AuthType Basic
       AuthName "Administration WEB"
       AuthBasicProvider ldap
       AuthzLDAPAuthoritative off
       AuthLDAPURL ldap://localhost/o=gouv,c=fr?uid?sub?(objectclass=administrateur)
       require user admin
       require user henry.martin
       Order Allow,Deny
       Allow from All
    </Directory>
    
  • Redémarrer apache
    /etc/init.d/apache2