Date de création : | 10 avril 2004 | |
Dernière modification : | 10 avril 2004 | |
Diffusion : | internet |
Ce document décrit l'installation du package serveur DAV esup V1. Il est préférable d'avoir lu le document explicatif auparavant.
Ce sont les modules décrits dans le document explicatif :
On suppose qu'un apache V2 est déja installé, avec le module mod_dav actif.
Pour l'utilitaire perl fourni,
le module Perl-LDAP doit être installé au
préalable.
Il est disponible à :
http://perl-ldap.sourceforge.net/
Si apache V2 est installé dans /usr/local/apacheV2 :
La compilation et l'installation des modulesse fait depuis le répertoire source du package :
/usr/local/apache/bin/apxs -ic mod_auth_esup.c
/usr/local/apache/bin/apxs -ic mod_userdir-esup.c
Est
présenté ici un extrait de paramétrage
type.
A charge à chaque établissement de l'adapter.
On suppose dans cet exemple que
la racine du site webdav est sur l'espace File-Système (FFS)
/home/www/htdocs.
C''est à priori une page d'accueil de l'espace de travail.
La racine FS des 'espaces de
stockage personnel' des utilisateurs est, dans l'exemple, sous /home/www/users/
Bien entendu, ceci est complètement paramétrable
dans la config apache.
Le nom du serveur DAV est : docweb.univ-fr.
L'URL de l'espace personnel de unuser
est : http://docweb.univ-fr/~unuser/
Dans la config proposée, l'espace personnel de unuser n'est pas accessible par une autre URL (du genre http://docweb.univ-fr/users/u/un/unuser/)
Nous proposons une configuration qui propose :
...
Listen 194.214.218.117:81
<IfDefine SSL>
Listen 194.214.218.117:443
</IfDefine>
...
LoadModule auth_esup_module modules/mod_auth_esup.so
#LoadModule auth_module modules/mod_auth.so
...
LoadModule userdir_esup_module modules/mod_userdir-esup.so
...
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
...
<Directory />
AllowOverride AuthConfig
Dav off
...
</Directory>
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
...
DavLockDB /tmp/DavLock
DavMinTimeout 600
DavDepthInfinity off
LimitXMLRequestBody 1000000
...
<IfModule mod_userdir-esup.c>
UserDir /home/www/users
UserDir with_hash
</IfModule>
...
<IfDefine SSL>
# globalSSL contient les directives SSL globales a la config
include conf/globalSSL.conf
</IfDefine>
...
#########################################################################
# serveur docweb 'trusted' (en environnement de confiance)
#########################################################################
<VirtualHost 194.214.218.117:81>
ServerName docweb.univ.fr
include conf/storage_trusted.conf
</VirtualHost>
#########################################################################
# serveur docweb https : authentif ldap
#########################################################################
<IfDefine SSL>
<VirtualHost 194.214.218.117:443>
ServerName docweb.univ.fr
#untrustedSSL.conf contient les directives SSL dpecifiques a docweb
include conf/storage_untrustedSSL.conf
include conf/storage_untrusted.conf
</VirtualHost>
</IfDefine>
A adapter selon le site. C'est le serveur virtuel dédié au portail, avec authentification par mot de passe partagé.
DocumentRoot /home/www/htdocs
AccessFileName .htaccess
DirectoryIndex index.html index.htm
#--- pour traiter les fichiers .rtf avec IE5.5, il faut un droit de --
#--- http OPTIONS non restreint, et le FilesMatch suivant --
<FilesMatch "_vti_">
Satisfy Any
</FilesMatch>
#--- pour IE, sinon demande authentif supplementaire ----
<Directory /home/www/htdocs/_vti_bin>
Satisfy Any
</Directory>
#--- secu ----
<Directory /home/www>
Dav Off
</Directory>
# home-directories des utilisateurs
<Directory /home/www/users>
AllowOverride AuthConfig
Dav on
Options Indexes
Order allow,deny
Allow from www.xxx.yyy.zzz
AuthType Basic
AuthName "espace de stockage univxx, mode trusted"
<IfModule mod_auth_esup.c>
Esup www
Esup_MustGivePassword On
Esup_Password titi
Esup_Authoritative On
</IfModule>
</Directory>
<LocationMatch "/\.ht">
Order allow,deny
Deny from all
</LocationMatch>
Nous avons mis la directive 'Dav On' au niveau de la directory /home/www/users ; ceci nest pas gênant, car ce répertoire n'est pas dans le 'champ W3' du serveur virtuel.
Imaginons que les
répertoires utilisateurs soient dans la directory /home/www/htdocs/users
; ça signifie par exemple que l'espace de stockage de unuser
est également accèssible en W3 par l'URL :
http://docweb.univ.fr/users/u/un/unuser
Si on met la directive Dav On à la directory /home/www/htdocs/users, ça revient à donner un accès Dav à toute personne, même sans authentification, au niveau http://docweb.univ.fr/users (le require user se situe au niveau de l'espace utilisateur, donc plus bas dans l'arborescence).
La solution : ne pas mettre de Dav On à ce niveau ; en fin de config du serveur virtuel, ajouter ceci :
<LocationMatch "^/~">
Dav on
</LocationMatch>
A adapter selon le site. C'est un serveur virtuel avec authentification par LDAP. Accessible par des navigateurs W3, voire des OS sachant parler DAV.
DocumentRoot /home/www/htdocs
AccessFileName .htaccess
DirectoryIndex index.html index.htm
#--- pour traiter les fichiers .rtf avec IE5.5, il faut un droit de --
#--- http OPTIONS non restreint, et le FilesMatch suivant --
<FilesMatch "_vti_">
Satisfy Any
</FilesMatch>
#--- pour IE, sinon demande authentif supplementaire ----
<Directory /home/www/htdocs/_vti_bin>
Satisfy Any
</Directory>
#--- secu ----
<Directory /home/www>
Dav Off
</Directory>
# home-directories des utilisateurs
<Directory /home/www/users>
AllowOverride AuthConfig
#Dav off si on ne veut que des navigateurs W3
Dav on
Options Indexes
Order allow,deny
Allow from all
AuthType Basic
AuthName "espace de stockage univ xx"
<IfModule util_ldap.c>
AuthLDAPAuthoritative on
AuthLDAPURL "ldap://ldap1.univ.fr ldap://ldap2.univ.fr/dc=univ,dc=fr?uid?sub?(objectClass=n2ClassPersonnel)
</IfModule>
</Directory>
<LocationMatch "/\.ht">
Order allow,deny
Deny from all
</LocationMatch>
Cette version de serveur DAV suppose que les dossiers personnels des utilisateurs sont pré-existants. Il est d'ailleurs probable que ce pré-requis soit imposé par les versions à venir, il n'est pas du rôle d'un serveur DAV de se charger de la création de cet espace.
Ce qui est décrit dans ce paragraphe ne concerne que cette version de serveur DAV. La version définitive aura d'autres modalités de création de l'espace personnel.
L'espace personnel de chaque utilisateur doit donc exister, avec les droits File système nécessaires (en fait, permettre au compte d'exécution de l'instance d'apache concernée de réaliser les opérations nécessaires sur les fichiers et sous-répertoires).
Ainsi, dans l'exemple précédent, pour l'utilisateur unuser, le répertoire /home/storage/users/u/un/unuser doir être créé lors de la création du compte utilisateur, et contenir un fichier .htaccess contenant la ligne suivante :
require user unuser
Ce sont des scripts schell ou perl permettant d'automatiser certaines tâches ; ces scripts sont à exécuter avec le compte UNIX sous lequel s'exécute le serveur apache.
C'est un script shell à usage unique, qui permet de 'formater' le répertoire support des home-directories webDav des utilisateurs.
Ce répertoire 'racine' doit exister préalablement.
Il faut indiquer le nom de ce
répertoire racine dans la variable REP_USER_DAV.
Eventuellement, décommenter le seconte variable LISTE
qui les répertoires de hachage peuvent contenir des
caractères numériques.
C'est un script perl qui va controler la synchronisation entre les home-directories des utilisateurs et des entrées LDAP ; in peut éventuellement mettre à jour ces home-directories.
Il doit donc être exécuté régulièrement, à l'aide d'une tâche programmée.
S'il est exécuté sans argument, une aide est affichée.
Il génère
un fichier de résultat : syncDavLdap.txt
Il génère un code de retour différent
de 0 en cas d'anomalies.
Il supporte les arguments suivants, précédés d'un tiret (-) :
C'est un script shell d'exemple, qui exécute le script syncDavLdap.pl. Il est destiné à être exécuté par un cron.
Il envoie un mail aux
administrateurs en cas d'anomalie d'exécution.
Création : 10 avril 2004 - Vincent Mathieu | |
Modifications : |