Table des matières

<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>

Installation du Serveur LDAP

Avant de commencer, il faut quelques tutoriels

1er Tutoriel 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/*