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.