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.