Installation Openldap

Voici que les éléments nécessaires pour installer un serveur Openldap. Je vais changer changer un peu les paramètres du serveur pour le rendre plus fiable. L’installation est très simple sur une Debian Etch. La commande à lancer :

# apt-get install slapd db4.2-util ldap-utils

Répondez arbitrairement aux questions demandées, on changera les paramètres par la suite le fichier de configuration.
Arrêter le serveur Openldap pour le moment :

# /etc/init.d/slapd stop

Je vous propose d’utiliser un autre script d’initialisation pour l’arrêt et le démarrage du serveur, il est disponible sur www.linagora.org

# unzip slapd.init-0.6-3-2.zip
# cp /etc/init.d/slapd /etc/init.d/slapd.ori
# mv slapd /etc/init.d
# chmod +x /etc/init.d/slapd

Il vous faudra aussi télécharger le script de configuration :

# unzip slapd.default-2.zip
# cp /etc/default/slapd /etc/default/slapd.ori
# mv slapd.default /etc/default/slapd

Voici un exemple du fichier de configuration du serveur : /etc/ldap/slapd.conf
Le dn que j’ai utilisé est dc=gezen,dc=fr.

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema

pidfile  /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args

loglevel 0
#128 1 4 16 32
allow bind_v2
modulepath  /usr/lib/ldap
moduleload  back_bdb
moduleload  syncprov
sizelimit unlimited
tool-threads 1
access to attrs=userPassword
  by self write
  by anonymous auth
  by * none

access to dn.base="" by * read

access to dn.base="cn=Subschema" by * read

access to *
  by * read
  defaultsearchbase dc=gezen,dc=fr

sasl-host localhost
sasl-secprops none

########################
# Database definition  #
########################
database   bdb
suffix     "dc=gezen,dc=fr"
rootdn     "cn=Manager,dc=gezen,dc=fr"
rootpw     secret
directory  "/var/lib/ldap/gezen.fr"
checkpoint    512 30
dbconfig set_cachesize 0 128000000 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index     objectClass,entryCSN,entryUUID eq
lastmod   on

Le mots de passe super-utilisateur doit figurer de manière cryptée, au niveau de la directive rootpw. Pour ce faire, il est nécessaire de recourir à l’utilitaire slappasswd et remplacer la valeur “secret” par le résultat obtenu.

# slappasswd
New password:
Re-enter new password:
{SSHA}88FbV6FgFyM0+YStQCcJCnn92tJDESgu

Création des répertoires manquant à la configuration :

# cd /var/lib/ldap/
# rm -fr *
# mkdir gezen.fr
# chmod 700 gezen.fr
# chown openldap:openldap gezen.fr

Premier démarrage du serveur : si tout se passe bien, le serveur doit démarrer correctement.

# /etc/init.d/slapd start

Initialisation du serveur

Votre serveur est bien démarrer sauf qu’il ne contient rien pour le moment. Un exemple simple à vérifier son contenu est d’utiliser la commande suivante :

# slapcat
ou
# ldapsearch -h localhost -b "dc=gezen,dc=fr" -x

Nous allons utiliser le format de fichier LDIF pour effectuer sa première alimentation. Créer le fichier “fichier.ldif” et coller le contenu suivant :

dn: dc=gezen,dc=fr
dc: test
objectClass: dcObject
objectClass: organization
o: GEZEN

dn: ou=people,dc=gezen,dc=fr
objectClass: organizationalUnit
ou: people

dn: ou=group,dc=gezen,dc=fr
objectClass: organizationalUnit
ou: group

dn: uid=lkco,ou=People,dc=gezen,dc=fr
loginShell: /bin/bash
employeeNumber: lkco
sn: LI-KIANG-CHEONG
gidNumber: 1000
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: person
objectClass: shadowAccount
objectClass: organizationalPerson
mail: lkco@gezen.fr
givenName: Olivier
uid: lkco
uidNumber: 10000
displayName: LI-KIANG-CHEONG Olivier
cn: Olivier LI-KIANG-CHEONG
homeDirectory: /home/lkco

Lancer ensuite la commande :

# ldapadd -h localhost -D "cn=Manager,dc=gezen,dc=fr" -w -x -f fichier.ldif

Schéma de l’arborescence de l’annuaire :
Voici un petit schéma simple pour illustrer ce qui a été créé.

dc=gezen,dc=fr
|_ou=group,dc=gezen,dc=fr
|_ou=people,dc=gezen,dc=fr
   |_uid=lkco,...

   |

Vous pouvez aussi l’installer l’outil phpldapadmin si vous souhaitez utiliser une interface plus conviviale pour administrer votre annuaire.

# apt-get install phpldapadmin

Au niveau de sa configuration, tout se passe dans le fichier “/usr/share/phpldapadmin/config/config.php”. Il est très bien documenté et je pense que vous ne devriez pas avoir de problème à le configurer tout seul.

Tutorial : Cluster HA avec Équilibrage de charge pour des annuaires

Voici un tutorial qui je pense être assez complet. Avec la dernière version d’Openldap, à savoir 2.4.8, j’aborde la configuration du serveur en mutlimaitre. L’équilibrage de charge est assuré par IPVS et la haute dispo par Hearbeat. Tout ça [ici|/index.php?pages/Cluster-Haute-Disponibilite/Equilibrage-de-charge-avec-des-OpenLDAP-multi-maitre|fr]