You must have JavaScript enabled to use the comments.
09-08-2020

Webdav avec apache2 en https

Nous allons installer un dépôt webdav sur un apache, dans un domaine dsposant d'un certificat ssl1 (ici sur Ubuntu).

Configuration pour webdav

Installation d'apache

Si vous n'avez pas apache installé

sudo apt install apache2

Activation des modules pour webdav

Il faut activer les modules nécessaire à webdav

a2enmod dav dav_fs dav_lock rewrite

Configuration d'httpd-dav.conf

Il va falloir éditer (en fait créer) un fichier /etc/apache2/conf-enabled/httpd-dav.conf et y mettre le contenu suivant:

<IfModule mod_dav_fs.c>
	DAVLockDB /var/lib/dav/lockdb
</IfModule>
# The following directives disable redirects on non-GET requests for
# a directory that does not include the trailing slash.  This fixes a
# problem with several clients that do not appropriately handle
# redirects for folders with DAV methods.
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[01234]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
BrowserMatch " Konqueror/4" redirect-carefully

Il n'est pas impossible que le répertoire /var/lib/dav où l'on demande à webdav de placer ses verrous n'existe pas, on le crée au cas où, pour éviter les moments de solitude (cela provoquerait évidemment une erreur et il faudrait aller scruter les log d'apache2 pour savoir ce qui se passe).org-st

sudo mkdir /var/lib/dav

Configuration d'un alias

Alias /webdav-felie /home/user/webdav
<Directory /home/user/webdav/>
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
<Location /webdav-user>
    DAV On
    AuthType Basic
    AuthName "Montrez patte blanche"
    AuthUserFile /var/www/passwd-file
    Require valid-user
</Location>

Nous allons déclarer le dépôt webdav sous forme d'alias. Le dépôt sera accessible à l'url https://domain.org/webdav-user2 mais correspondra à un répertoire dans son home: /home/user/webdav. Il faut créer le répertoire dont nous parlons, et lui donner des droit pour que l'apache puisse y écrire (et l'utilisateur aussi!).

sudo mkdir /home/user/webdav
sudo chown www-data:user /home/user/webdav

Il faut maintenant créer un fichier pour stocker l'empreinte du mot de passe de l'utilisateur. Le fichier ici est /var/www/passwd-file. Nous allons le créer et en même temps demander le mot de passe

sudo htpasswd -c /var/www/passwd-file user 

Le système va demander un mot de passe pour user.

Mise en oeuvre

Il suffit maintenant de relancer le serveur Apache2

sudo apache2 reload

Test

Vous pouvez vérifier que le dépôt est accessible, dans votre navigateur à l'url https://domain.org/webdav-user. Il vous sera demandé le login et le mot de passe.

Footnotes:

1

accessible en https

2

Remplacez évidemment partout le mot user par le nom de l'utilisateur choisi!

Tags: informatique