9/13/06 12:43:47 pm Procédure d`installation de mod_auth_ldap 0.5

Transcription

9/13/06 12:43:47 pm Procédure d`installation de mod_auth_ldap 0.5
9/13/06 12:43:47 pm
Procédure d'installation de mod_auth_ldap 0.5.1 et configuration de
l'authentification à LDAP pour Macosx Tiger
(se loguer en ROOT pour l'installation)
1-Pour installer le module mod_auth_ldap, il est nécessaire de le compiler à
partir du fichier source. Télécharger le module en cliquant sur-->
mod_auth_ldap
0.5.1
(18kB,
tar.gz)
ou
à
l'adresse
suivante
: http://nona.net/download/mod_auth_ldap-0.5.1.tar.gz
2-Assurez vous que le compilateur C est bien installé sur votre version
de Macosx Tiger. Pour cela, faites un parcours rapide des différents
emplacements où les modules gcc du compilateur C doivent
se trouver. Dans les dossiers suivants : /usr/bin, /usr/include, /usr/lib,
/usr/libexec, /usr/sbin, doivent se trouver des éléments se rapportant à
gcc. Si gcc n'est pas présent dans ces dossiers, installez le à partir de
votre cd rom ou votre dvd Osx Tiger. Sinon vous pouvez sauter cette
étape et vous rendre directement à la procédure 3 ci-dessous.
a)-Vous trouverez les paquets d'installation de gcc dans le dossier
"Xcode Tools" du cdrom ou dvd d'installation de Tiger. Si vous
êtes intéressé par une procédure complète d'installation de tous
les
XcodeTools,
alors double-cliquez
sur
le
paquet
XcodeTools.mpkg. Ceci lancera l'installation de tous les outils
du développeur dont le compilateur C gcc.
b)-Une autre façon de procéder est d'installer uniquement les
paquets gcc en ouvrant le dossier "Xcode Tools/Packages" où se
situent les deux paquets gcc3.3.pkg et gcc4.0.pkg.
3-Ensuite, décompressez le fichier tar.gz et copier le dossier résultant de
l'archive "mod_auth_ldap" sur votre bureau par exemple.
4-Rappel:
se
loguer
en
ROOT
pour
l'installation.
Avec le terminal assurez-vous de votre positionnement dans
l'arborescence en passant la commande suivante si besoin est :
(Remarque: Remplacer les textes en vert par vos propres paramètres)
cd /users/moncompte/desktop/mod_auth_ldap.
5-Dans ce dossier, vous n'avez besoin que du fichier source
"mod_auth_ldap.c". En éffet, il existe sur macosx un installateur
automatique de modules qui se nomme apxs. apxs se charge de toutes
les manipulations qui concernent la compilation, la modification du
fichier "/etc/httpd/httpd.conf" avec son réglage de droits d'accès et
l'installation dans les bons dossiers des fichiers générés, notamment le
produit de la compilation mod_auth_ldap.so. Si vous souhaitez avoir
plus de précision concernant la procédure automatique, cliquez sur cette
documentation
en ligne
:
http://www.macdevcenter.com/pub/a/mac/2004/06/18/ldap.html?page=2
Pour lancer la procédure automatique, tapez :
apxs -lldap -llber -i -a –c
/users/moncompte/desktop/mod_auth_ldap/mod_auth_ldap.c
Normalement, si tout se passe bien, l'installateur renvoie quelque chose
qui ressemble à ce genre d'informations ci-dessous :
gcc -DDARWIN -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -g –Os
pipe -DHARD_SERVER_LIMIT=2048 –DEAPI DSHARED_MODULE I/usr/include/httpd c /users/moncompte/desktop/mod_auth_ldap/mod_auth_ldap.c In file
included from /usr/include/httpd/ap_config.h:1129, from
/usr/include/httpd/httpd.h:29, from
/users/moncompte/desktop/mod_auth_ldap/mod_auth_ldap.c:23:
/usr/include/httpd/hsregex.h:22:1: warning: "ap_private_extern"
redefined In file included from /usr/include/httpd/httpd.h:29, from
/users/moncompte/desktop/mod_auth_ldap/mod_auth_ldap.c:23:
/usr/include/httpd/ap_config.h:1025:1: warning:
this is the location of the previous definition cc -bundle -undefined
suppress -flat_namespace -Wl,-bind_at_load o /users/moncompte/desktop/mod_auth_ldap/mod_auth_ldap.so
mod_auth_ldap.o -lldap -llber [activating module `ldap_auth' in
/private/etc/httpd/httpd.conf] cp
/users/moncompte/desktop/mod_auth_ldap/mod_auth_ldap.so
/usr/libexec/httpd/mod_auth_ldap.so chmod 755
/usr/libexec/httpd/mod_auth_ldap.so cp
/private/etc/httpd/httpd.conf /private/etc/httpd/httpd.conf.bak cp
/private/etc/httpd/httpd.conf.new /private/etc/httpd/httpd.conf rm
/private/etc/httpd/httpd.conf.new
Les droits d'accès du fichier nouvellement copié
"/usr/libexec/httpd/mod_auth_ldap.so" sont automatiquement réglé à
755, puis, dans le fichier "/private/etc/httpd/httpd.conf", 2 lignes
sont ajoutées par le programme apxs. Il s'agit bien sûr de la directive
"LoadModule ldap_auth_module libexec/httpd/mod_auth_ldap.so" que
l'on trouve à la fin des directives LoadModule, puis de la directive
"AddModule mod_auth_ldap.c" également positionnée en fin de passage
des directives AddModule.
6-Il ne reste plus qu'à stopper le serveur apache, puis le redémarrer afin
qu'il puisse charger le module mod_auth_ldap. Pour réalise
simplement ceci, lancer l'application "préférences système" sous la
couche aqua. Dans l'option internet et réseau du tableau de bord
"Partage", décochez la case "Partage Web personnel", ce qui
va immédiatement stopper le serveur Apache, puis recliquez sur cette
même case afin de le redémarrer.
Voilà, c'est fait. Le module mod_auth_ldap est opérationnel. Ici, la
procédure d'installation est terminée. Il faut maintenant configurer
l'authentification à Ldap en inscrivant des directives dans un fichier
.htaccess.
Activation des fichiers .htaccess pour mod_auth_ldap 0.5.1
7-Afin de pouvoir manipuler les fichiers .htaccess, il est nécessaire de le
spécifier à Apache, par l'intermédiaire du fichier /etc/httpd/httpd.conf,
comment traiter les fichiers .htaccess
Ce que dit la documentation sur la directive Apache :
AllowOverride La directive AllowOverride définit si, oui ou non, des
Options peuvent être outrepassées par les pseudo- instructions
dans un fichier .htaccess. Par défaut, le DocumentRoot est défini
pour ne pas permettre à .htaccess de passer outre.
Editez le fichier /etc/httpd/httpd.conf avec Vi ou BBedit et chercher la
chaîne de caractères suivante :
# This controls which options the .htaccess files
# in directories can override. Can also be "All",
# or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit".
AllowOverride None
Remplacé par :
AllowOverride All
8-Relancez ensuite le serveur Apache en ligne de commandes ou par les
préférences systèmes sous Aqua (tableau de bord "partage"
décochez "Partage Web Personnel" et recochez le).
.htaccess sera désormais actif à partir de la racine du Document Root
/Library/WebServer/Documents
Si vous vous en servez à partir de votre compte, il est également
possible de placer un .htaccess à la racine de vos pages web dans
/users/moncompte/Sites/ ou dans tout autre sous niveau.
Dans ce cas, ill faut modifier la directive AllowOverride None
(remplacez None par All) du fichier
"/etc/httpd/users/moncompte.conf" (avec Vi ou BBedit).
Un fichier.htaccess placé dans un niveau de dossier aura un éffet sur
tous les sous dossiers partant de ce niveau sauf si un de ces sous
dossiers contient un autre .htaccess.
Pour protèger un site complet avec un mot de passe, il suffit
donc de mettre un .htaccess à la racine du site. Dans le cas d'une
authentification avec l'annuaire Ldap, il s'agit de protéger un site en le
rendant accessible grâce à l'entrées de logins et de mots de passe
aupréalablement mémorisés dans l'annuaire ldap. L'authentification sera
donc réalisé par l'intermédiaire du module mod_auth_ldap 0.5.1, qui
en relation avec le .htaccess exécutera une procédure de connexion et
de demande d'authentification avec l'annuaire Ldap. Cet annuaire est
géré par un serveur. Il faut donc spécifier le nom d'hôte
"nomduserveur.nomdedomaine.com" dans le fichier .htaccess.
9-Création du fichier .htaccess Avec Vi ou BBedit, créez un fichier vide
nommé .htaccess et entrez les valeurs suivantes :
AuthType Basic
AuthName "Test authentification Ldap"
AuthLDAPHosts "nomduserveur.nomdedomaine.com"
AuthLDAPBaseDN "dc=nomdedomaine,dc=com"
AuthLDAPUserKey uid
AuthLDAPPassKey userPassword
AuthLDAPCryptPasswords on
AuthLDAPSchemePrefix on
AuthLDAPSearchScope subtree
require valid-user
Enregistrez ce fichier à la racine de votre site. L'utilisateur possedant un
compte référencé dans Ldap pourra ainsi se loguer sur votre site en
fournissant son identificateur et son mot de passe.