OpenLDAP

English Dutch

Il existe de nombreux logiciels propriétaires permettant de créer un serveur LDAP sur Windows, mais soit ils sont chers, soit ils ne respectent pas les standards (Active Directory).

OpenLDAP est un serveur LDAP Opensource très répandu sur plate-forme Unix, il serait donc très intéressant de pouvoir l'utiliser sur Windows.

Grâce à Lucas Bergman, de FiveSight , c'est possible. Il a en effet effectué les modifications nécessaires aux sources et propose une version binaire windows prête à l'emploi d'OpenLDAP. La version initiale n'est plus accessible sur le site de FiveSight, mais Lucas Bergman a continué à travaillé sur le portage et propose maintenant une version à jour avec installeur ( http://lucas.bergmans.us/hacks/openldap/ ). Lucas ayant maintenant la chance de travailler principalement sur Unix, c'est Matthias Mohr qui a pris la suite et publie les mises à jour sur : http://download.bergmans.us/openldap/openldap-2.2.29/openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe .

Pour les impatients, ou ceux qui ne veulent pas avoir à connaître les détails des fichiers de configuration, la société Ilex a créé une version incluant un installeur un peu plus complet que le précédent, mais sur une version plus ancienne d'OpenLDAP. Cette version est disponible à l'adresse : http://www.ilex.fr/openldap.htm .

Installation

Télécharger la version binaire installable d'OpenLDAP à l'adresse : http://download.bergmans.us/openldap/openldap-2.2.29/openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe .

Lancer l'installation, choisir la langue, accepter la licence et choisir le répertoire d'installation, par défaut C:\Program Files\OpenLDAP . Par principe, il faut éviter les espaces dans les noms répertoire, indiquer par exemple : c:\openldap

Les améliorations de Matthias permettent d'enregistrer directement OpenLDAP en service Windows, et d'installer les outils BDB. Ces derniers sont utiles pour réparer la base de données après un crash système.

Ldap Install

L'installeur propose de choisir le mode de démarrage du service (manuel ou automatique) et génère automatiquement une configuration valide. Les fichiers de démarrage d'OpenLDAP sont créés dans le répertoire c:\openldap\run , les données de l'annuaire seront stockées dans c:\openldap\data .

Configuration

La configuration du serveur OpenLDAP se trouve dans le fichier slapd.conf . Avant de lancer le serveur, il est nécessaire d'éditer ce fichier.

Ceci n'est qu'une introduction rapide, se référer à la documentation OpenLDAP pour plus d'informations.

Exemple de fichier de configuration :

ucdata-path ./ucdata
include ./schema/core.schema

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

database bdb
suffix "dc=guessant,dc=org"
rootdn "cn=Manager,dc=guessant,dc=org"
rootpw secret
directory ./data

Lancement

L'exécutable slapd.exe est le serveur OpenLDAP. Il suffit de le lancer en ligne de commande ou par double-clic. Aucun message ne s'affiche, mais le démarrage est pratiquement instantané. Ne pas fermer cette fenêtre pendant les tests suivants. Pour obtenir les messages de déboguage, utiliser le paramètre -d :

slapd -d 1

Test du serveur

Un premier test du serveur peut être effectué avec les outils ligne de commande fournis avec OpenLDAP. Par exemple en exécutant la commande de recherche :

ldapsearch -x -s base (objectclass=*) namingContexts

Pour fonctionner, cette commande doit être lancée dans un nouvelle fenêtre et après s'être positionné dans le répertoire d'installation d'OpenLDAP. Utiliser la commande ldapsearch -? pour plus d'informations sur les options de recherche.

Pour aller plus loin, il est plus facile d'utiliser un client LDAP, comme par exemple le LDAP Browser/Editor de Jarek Gawor, disponible sur : http://www.iit.edu/~gawojar/ldap

Lancer le client et fournir les informations de connection :

Ldap Browser Connect

La connexion doit réussir, mais un message d'erreur List Failed s'affiche. Ce message est dû au fait qu'il n'y a pas encore d'entrée dans l'annuaire, double cliquer sur le message d'erreur pour obtenir plus de détails.

Alimentation de l'annuaire

Pour créer les premières entrées dans l'annuaire, créer un fichier init.ldif texte contenant les informations suivantes (en remplaçant les noms par ceux choisis lors de la configuration initiale de l'annuaire :

dn: dc=guessant,dc=org
objectclass: top
objectclass: dcObject
objectclass: organization
o: Guessant
dc: guessant

dn: cn=Manager,dc=guessant,dc=org
objectclass: organizationalRole
cn: Manager

Ce fichier peut être créé directement dans le répertoire d'installation OpenLDAP ou dans n'importe où après avoir ajouté ce répertoire au PATH global de la machine.

Charger ce fichier dans l'annuaire (spécifier les chemins d'accès à slapd.conf et init.ldif si nécessaire) :

slapadd -f slapd.conf -l init.ldif

La commande slapadd accède directement à la base BDB, sans passer par le serveur LDAP, il faut donc redémarrer ce dernier.

Une nouvelle connexion avec le client Ldap Browser permet de vérifier le bon chargement de l'annuaire. Décocher la case Anonymous Bind et renseigner la partie User Info pour pouvoir créer de nouvelles entrées dans l'annuaire.

Avec l'exemple de configuration précédent, indiquer cn=Manager , cocher la case append base DN et utiliser le password secret .

Ldap Browser Root

Installation en tant que service

Afin de permettre le démarrage automatique d'OpenLDAP au boot de la machine, il est nécessaire de l'installer en tant que service NT. Si l'option n'a pas été choisie lors de l'installation, cela se fait simplement par la commande :

slapd install

Pour le désinstaller :

slapd remove

Il est possible de modifier les paramètres de démarrage du service en créant les clés de registre correspondantes. Enregistrer le contenu qui suit dans un fichier .reg et le lancer par double clic :

REGEDIT4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\OpenLDAP-slapd\Parameters]
"DebugLevel"=dword:00000000
"ConfigFile"=".\\slapd.conf"
"Urls"="ldap:///"

Voir le fichier README.txt inclus dans la distribution pour plus de détails sur le mode de recherche des clés de registre.

DebugLevel permet de changer le niveau de traces, ConfigFile est le fichier de configuration et Urls est l'équivalent de l'option -h.

En particulier, pour modifier le port d'écoute openldap, Urls doit contenir : ldap://localhost:port/