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.