Apache2 + Webdav + openldap + ssl
Installation des paquets:
[root@webdav:~]$apt-get install apache2
Apache
On active les modules nécessaires pour le webdav, le ssl et l’authentification ldap:
[root@webdav:~]$a2enmod authnz_ldap ssl dav dav_fs dav_lock
Considering dependency ldap for authnz_ldap:
Enabling module ldap.
Enabling module authnz_ldap.
Enabling module ssl.
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
Enabling module dav.
Run '/etc/init.d/apache2 restart' to activate new configuration!
On créé un répertoire qui sera accessible pour l’utilisateur test:
[root@webdav:~]$mkdir -p /var/www/webdav/test
[root@webdav:~]$chmod 770 /var/www/webdav/test
[root@webdav:~]$chown .www-data /var/www/webdav/test
On créé le fichier lock pour webdav:
[root@webdav:~]$mkdir /var/lock/DAVLock
[root@webdav:~]$touch /var/lock/DAVLock/DAVLock
[root@webdav:~]$chown -R www-data:www-data /var/lock/DAVLock
On créé le fichier virtual host:
<VirtualHost *:443>
ServerAdmin webmaster@frites.be
ServerAlias webdav.frites.be
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/webdav.frites.be.pem
SSLCertificateKeyFile /etc/apache2/ssl/webdav.frites.be.key
DocumentRoot /var/www/webdav
ErrorLog /var/log/webdav_ssl_error.log
CustomLog /var/log/webdav_ssl_access.log combined
LogLevel warn
#WEBDAV
DavLockDB /var/lock/DAVLock/DAVLock
DAVMinTimeout 600
<Directory /var/www/webdav/test>
Dav On
AuthType Basic
AuthName "Accès RÉSERVÉ"
AuthName DAV
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPRemoteUserIsDN off
AuthLDAPGroupAttributeIsDN off
AuthLDAPURL ldaps://ldap.frites.be/ou=Webdav,dc=frites,dc=be?uid?sub?(objectClass=*)
require ldap-filter &(uid=test)
</Directory>
</VirtualHost>
On active le virtual host:
a2ensite webdav
Ne pas oublier de créer le dossier /etc/apache2/ssl et d’y placer le certificat et la clef du serveur webdav.frites.be
On redémarre apache:
[root@webdav:~]$/etc/init.d/apache2 restart
Authentification:
On modifie le fichier /etc/ldap/ldap.conf où l’on indique le seveur ldap et l’endroit où se trouve le ca:
#
# LDAP Defaults
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=frites,dc=be
URI ldaps://ldap.frites.be
TLS_CACERT /etc/ssl/certs/cacert.pem
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
Il ne faut pas oublier de placer le ca dans le répertoire /etc/ssl/certs
Accès au répertoire
On peut accéder au répertoire en lecture via un navigateur web à l’adresse suivante https://webdav.frites.be/test avec comme login test et le mot de passe qui se trouve dans le ldap.
Si l’on veut faire des modifications il faut utiliser un autre client, sous Linux on peut y accéder en ligne de commande via cadaver, en graphique via nautilus par exemple.
Sous Windows on peut rajouter un favori réseau afin d’éditer, créer et lire ce qui se trouve dans le répertoire test.
Attention le bloc-notes de Windows n’est pas compatible avec webdav, si l’on veut modifier/lire un fichier texte avec le bloc-notes il faudra le rapatrier en local et ensuite le copier avec les modifications sur le serveur.