Installer et configurer OpenLDAP

Ce chapitre ne concerne pas Dolibarr. Il contient un exemple d'instructions pour installer un annuaire LDAP qui pourra éventuellement être interfacé avec Dolibarr.

Installer le serveur LDAP

  • Sous Ubuntu ou Debian, installer le package slapd et ldap.
  • Sous Windows, vous pouvez utiliser le programme d'installation OpenLDAP Windows.

Une fois cette opération faite, vous disposez d'un serveur LDAP vierge lancé en tant que service.

Configurer le serveur

Pour Ubuntu, voir la page http://doc.ubuntu-fr.org/openldap-server

Sinon le DN racine, le user et le mot de passe de connexion sont décrits dans le fichier slapd.conf. Le port peut également l'etre, sinon il s'agit du port par défaut: 389.

Arrêtez le service

Modifiez le fichier slapd.conf pour utiliser votre nom de domaine (remplacement des dc=example.com,dc=com par votre choix).

Modifiez le fichier slapd.conf également pour ajouter les include de schémas dont vous aller avoir besoin pour déclarer vos objets LDAP.

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

ou ajouter les schémas par

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

Redemarrez le service.

Tester le serveur

A l'aide d'un browser LDAP comme JXplorer, essayer de vous connecter au serveur LDAP avec le user d'administration LDAP. Les identifiants de connexion par défaut seront donc:

  • Server: Localhost
  • Port: 389
  • User DN: cn=admin,dc=example,dc=com ou cn=Manager,dc=example,dc=com
  • Password: secret
  • Base DN (optionnel): ne rien mettre ou mettre dc=example,dc=com

Créer votre arbre LDAP

L'étape suivante consiste à définir les informations à stocker dans l'annuaire LDAP et leur organisation.

Créer un fichier init.ldif contenant votre organisation. Par exemple:

# Organization
# 2 new lines or end of file after field description
dn: dc=mydomain,dc=com
objectclass: dcObject
objectclass: organization
dc: mydomain
o: Label of mydomain
description: Description for mydomain container


# Setting up container for Users OU
# 2 new lines or end of file after field description
dn: ou=mypeople,dc=mydomain,dc=com
objectclass: top
objectclass: organizationalUnit
ou: mypeople
description: Description for mypeople container


# Setting up container for groups
# 2 new lines or end of file after field description
dn: ou=mygroups,dc=mydomain,dc=com
objectclass: top
objectclass: organizationalUnit
ou: mygroups
description: Description for mygroups container

Executer le fichier avec le compte administrateur LDAP:

ldapadd -f init.ldif -D "cn=admin,dc=example,dc=com" -w secret

Le serveur est prêt avec un arbre standard pour les utilisateurs et les groupes.


Creer des utilisateurs

Créer un fichier inituser.ldif pour votre utilisateur. Par exemple:

# Some User
dn: sn=someuser,ou=mypeople,dc=nodomain
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: Some User
sn: someuser
mail: someuser@nodomain
userPassword: {SSHA}hnP4gNK7SbgsAW3eTZYf23a4R7Ob19l2

Utiliser slappasswd -s passwordtocrypt pour générer un mot de passe crypté.

Incidents

Sous Windows, en cas d'arrêt brutal du server, le redémarrage de OpenLDAP peut échouer avec l'erreur Program version x.y doesn't match environment version

Pour confirmer le problem, aller sous DOS dans le répertoire data de OpenLDAP et lancer la commande

..\db_stat -e

Si le message est bien celui la, lancer une réparation de la base par

..\db_recover

Le serveur doit maintenant pouvoir repartir.