A propos/How-To...
Suite à quelques soucis de configuration de mon serveur ftp (vsftp) à cause des problèmes de NAT/PAT, j’ai configuré mon serveur WebDAV pour en faire un serveur de fichier. L’intérêt est qu’un serveur WebDAV fonctionne parfaitement à travers un proxy web grâce au protocole HTTP...
J’ai utilisé 3 ACL (Access Control List) / types de profils utilisateur comme pour un serveur ftp:
- lecture seule (sans droit d’écriture)
- lecture+écriture (sans droit de suppresion)
- admin (droits de lecture+écriture+suppression)
Le répertoire partagé est /home/ftp en lecture.
Il y a un sous-répertoire /home/ftp/upload en écriture
Prérequis
Pour installer et configurer le module WebDAV mod_dav sur un serveur apache2, voir le tutorial précédent : Installation de WebDAV pour Apache2 sur une Debian testing (etch)
Configuration de WebDAV
Pour illustrer l’example, on va créer 4 utilisateurs pour chacun des profils :
- xavier : lecture
- arnaud et pascal : lecture+écriture
- pierre : lecture+écriture+suppression
Créer un fichier /etc/apache2/htpasswd-webdav contenant les login/mot de passe des utilisateurs grâce à la commande ’htpasswd’. Attention : si le fichier existe déjà, ne pas passer l’option -c (création)
# htpasswd -c /etc/apache2/htpasswd-webdav xavier
New password:
Re-type new password:
Adding password for user xavier
# htpasswd /etc/apache2/htpasswd-webdav arnaud
New password:
Re-type new password:
Adding password for user arnaud
# htpasswd /etc/apache2/htpasswd-webdav pascal
New password:
Re-type new password:
Adding password for user pascal
# htpasswd /etc/apache2/htpasswd-webdav pierre
New password:
Re-type new password:
Adding password for user pierre
Créer un simple fichier texte /etc/apache2/htgroup-webdav contenant la liste des ACL [1] / groupes d’utilisateur. On va créer 2 groupes :
- webdav-writer (droits en écriture)
- webdav-admin (droits de suppression)
Je n’ai pas créé de groupe webdav-reader car par défaut tout le monde a accès en lecture...
webdav-writer: arnaud pascal
webdav-admin: pierre
Configurer apache2 (SSL)
Je ne mets que la partie concernant webdav
<Directory /home/ftp>
DAV on
AuthName "WebDAV Storage"
AuthType Basic
AuthUserFile /etc/apache2/htpasswd-webdav
AuthGroupFile /etc/apache2/htgroup-webdav
# if you want to allow standard web browser read access : remove the "GET" from the Limit directive
<Limit GET POST OPTIONS PROPFIND>
#Require group webdav-reader
Require valid-user
</Limit>
</Directory>
<Directory /home/ftp/upload>
DAV on
AuthName "WebDAV Storage"
AuthType Basic
AuthUserFile /etc/apache2/htpasswd-webdav
AuthGroupFile /etc/apache2/htgroup-webdav
<Limit GET PUT PROPPATCH MKCOL COPY LOCK UNLOCK>
Require group webdav-writer
</Limit>
<Limit GET PUT DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require group webdav-admin
</Limit>
</Directory>
Changer les droits du répertoire /home/ftp/upload pour que le serveur apache puisse y écrire
# chown www-data /home/ftp/upload
Il ne reste plus qu’à relancer le serveur apache2 !
# /etc/init.d/apache2 restart
Clients WebDAV
Cross-Platform
- DAV Explorer (java)
Linux
- cadaver (command line)
- WebDAV Linux File System (davfs2)
- Konqueror
- Nautilus
[1] Access Control List
Commentaires
1. lundi 19 mai 2008 à 12:24,
2. jeudi 22 mai 2008 à 17:59, par Thus0
Ajouter un commentaire