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.