<html> <a rel=“license” href=“http://creativecommons.org/licenses/by-sa/2.0/fr/”><img alt=“Creative Commons License” style=“border-width:0” src=“http://i.creativecommons.org/l/by-sa/2.0/fr/88x31.png” /></a><br /> </html>
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.
Attention ça devrait être intense :
aptitude install slapd ldap-utils
ouf ce fut dur…
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
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
Pour installer notre serveur ldap, nous allons partir de la configuration précédente.
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
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
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.
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
Penser à vider l'annuaire existant :
sudo rm -rf /var/lib/ldap/*