Creative Commons License
====== Installation du Serveur LDAP ====== Avant de commencer, il faut quelques tutoriels [[http://www-sop.inria.fr/members/Laurent.Mirtain/ldap-livre.html|1er Tutoriel LDAP]] [[http://www.developpez.net/forums/d531504/applications/developpement-reseaux/cours-tutoriels-annuaires-ldap/| Une liste de tutoriel ]] ==== Organisation ==== bon j'avoue que je ne sait pas trop comment organiser le ldap... Je vais essayer quand même. Je propose que les comptes soient des numéros d'adhérents. Ce qui devrait permettre de pouvoir changer l'adresse mail, le nom(pratique pour changer de pseudo), l'adresse le numéro de téléphone ...etc ce qui identifiera la personne sur le système c'est son numéro d'adhérent. ensuite je vois le ldap comme des répertoires ou l'on organise les fichiers(objets) donc je verrais bien un répertoire Users pour mettre les utilisateurs dedans, un répertoire Groups pour mettre les groupes(je ne sait pas si il y a besoin), un répertoire association pour y mettre les associations et enfin un répertoire Fonction ou l'on mettrais dedans les fonctions des associations(président de tel association, trésorier, responsable mairie...etc) Bon je ne sais pas si les répertoire association, Fonction et Groups vont servir mais au cas ou y penser ne fais pas de mal. et je me dit que ptre qu'infini pourrait s'en servir .... Ha oui au lieu de dire répertoire nous allons utiliser le terme organizationalUnit ou plus exactement O. U. ==== Installation ==== Attention ça devrait être intense : aptitude install slapd ldap-utils ouf ce fut dur... ==== Configuration ==== On va juste configurer le strict minimum pour que ldap fonctionne. Nous reviendrons dessus pour finir la conf plus tard Alors il faut editer le fichier /etc/ldap/slapd.conf rechercher les lignes # The base of your directory in database #1 suffix "blabla" et remplacer par # The base of your directory in database #1 suffix "dc=mdl29,dc=net" Par convention on met le meme suffix ldap que celui du dns. Comme pour l'instant nous n'avons pas le nom de domaine braveo j'ai pris mdl29 Nous allons activer le compte admin dans le ldap avec le mot de passe "password" Remarquez que nous gardons le suffix bon c'est plus facile toujours dans le fichier /etc/ldap/slapd.conf rootdn "cn=admin,dc=mdl29,dc=net" rootpw password bon le password est en clair c'est pas terrible on va le hasher en sha dans une console vous tapez slappasswd -h {sha} il va vous demander le mot de passe et le redemander New password: Re-enter new password: si vous avez mis password comme mot de passe il devrait vous donner {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g= vous le copiez toute la ligne et la coller dans le fichier slapd.conf après le rootpw ce qui donne rootdn "cn=admin,dc=mdl29,dc=net" rootpw {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g= bien maintenant, il va falloir remplacer toutes les occurrences ou apparait "cn=admin, dc = lallal" par "cn=admin,dc=mdl29,dc=net" access to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=mdl29,dc=net" write by anonymous auth by self write by * none ce qui change les droits sur le ldap pour les champs userPassword et shadowLastChange . l'admin a full accès, il peut lire et écrire le propriétaire peut aussi changer ses propres champ et enfin aucun accès pour le reste du monde et enfin nous autorisons tout le monde à lire le ldap access to * by dn="cn=admin,dc=mdl29,dc=net" write by * read Nous allons faire un petit test de connexion. Sur le serveur nous allons redémarrer le LDAP pour qu'ils prennent en compte nos modifications. /etc/init.d/slapd restart ensuite nous allons faire une recherche dans le ldap en se connectant avec le compte admin du ldap ldapsearch -D "cn=admin,dc=mdl29,dc=net" -x -W Il ne trouve personne mais il ne donne pas d'erreur. Le LDAP fonctionne Maintenant on va ajouter des champs dans le ldap. Pour ce faire nous allons modifier le schéma en ajoutant la dernière version du fichier qmail.schema Il est disponible à l'adresse: Http://cvs.mandriva.com/cgi-bin/viewvc.cgi/SPECS/openldap/qmail.schema Il faut le copier dans le répertoire /etc/ldap/schéma. Ensuite il faut le déclarer dans le fichier /etc/ldap/slapd apres le bloc # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema Il faut ajouter une ligne include /etc/ldap/schema/qmail.schema enregistrer et redémarrer ==== création des users ==== bien notre LDP fonctionne mais il est vide. Nous allons donc le remplir avec un fichier au format ldif. pour l'exemple braveo.ldif heu l'utilisateur ici a plus d'information qu'on en a besoin mais ça permet d'illustrer le contenu d'un ldap dn: dc=mdl29,dc=net objectClass: organizationalUnit objectClass: dcobject dc: mdl29 ou: mdl29 dn: ou=Users,dc=mdl29,dc=net objectClass: organizationalUnit ou: Users dn: ou=groups,dc=mdl29,dc=net objectClass: organizationalUnit ou: groups dn: ou=Fonctions,dc=mdl29,dc=net objectClass: organizationalUnit ou: Fonctions dn: ou=Associations,dc=mdl29,dc=net objectClass: organizationalUnit ou: Associations dn: uid=42,ou=Users,dc=mdl29,dc=net objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectclass: qmailuser mailhost: mail1.mdl29.net cn: bjensen displayName: Babs Jensen sn: Jensen givenName: Barbara initials: BJJ uid: 42 mail: bjensen@mdl29.net telephoneNumber: +1 408 555 1862 facsimileTelephoneNumber: +1 408 555 1992 mobile: +1 408 555 1941 roomNumber: 0209 carLicense: 6ABC246 o: Siroe ou: Product Development departmentNumber: 2604 employeeNumber: 42 employeeType: full time preferredLanguage: fr, en-gb;q=0.8, en;q=0.7 userPassword: 123456 labeledURI: http://www.siroe.com/users/bjensen My Home Page il faut stopper le ldap /etc/init.d/slapd stop supprimer le les fichier du ldap rm -rf /var/lib/ldap/* ensuite peupler le ldap slapadd -l braveo.ldif changer les droits sur le répertoireldap chown -R openldap:openldap /var/lib/ldap/ et démarrer le ldap /etc/init.d/slapd start et voilà un ldap qui fonctionne pour le tester ldapsearch -x mail=bjensen@mdl29.net -bdc=mdl29,dc=net -h localhost ===== Installation sous debian Squeeze ===== Pour installer notre serveur ldap, nous allons partir de la configuration précédente. ==== Installation ==== Tout d'abord, installer le daemon serveur slapd de OpenLDAP et le paquet ldap-utils, un paquet contenant des utilitaires de gestion de LDAP. aptitude install slapd ldap-utils Le fichier de configuration se trouve dorénavant dans /usr/share/slapd/slapd.conf Nous allons garder le même emplacement pour notre fichier de configuration /etc/ldap/slapd.conf **Nous utilisons le fichier slapd.conf utilisé lors de l'installation précédente.** Pour cela, il suffit de modifier le fichier /etc/default/slapd pour lui indiquer le bon chemin. fichier : **/etc/default/slapd** SLAPD_CONF=/etc/ldap/slapd.conf ==== Exportation du ldap ==== Cette manipulation, nous l'effectuons sur le serveur ldap en service afin de le placer sur le nouveau serveur. slapcat -l braveo.ldif Ensuite, copiez le fichier braveo.ldif quelque part sur votre nouveau serveur. ==== Importation du ldap ==== slapadd -l braveo.ldif -f /etc/ldap/slapd.conf Changer les droits sur le répertoire ldap chown -R openldap:openldap /var/lib/ldap/ Redémarrage du serveur ldap /etc/init.d/slapd start Important : si vous faites une migration d'un serveur ldap, un message d'erreur peut apparaître Penser à vider l'annuaire existant : sudo rm -rf /var/lib/ldap/*