OpenLDAP
OpenLDAP est une implémentation libre du protocole LDAP maintenue par le projet OpenLDAP et distribuée selon les termes de la licence OpenLDAP Public Licence[2]. Outre le code source, on trouve des versions compilées pour GNU/Linux, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, Mac OS X, Solaris, et Microsoft Windows (2000, XP).
Développé par | Projet OpenLDAP |
---|---|
Dernière version | 2.6.9 ()[1] |
Dépôt | git.openldap.org/openldap/openldap.git |
Écrit en | C |
Système d'exploitation | Multiplateforme |
Environnement | Multiplateforme |
Formats lus | LDAP Data Interchange Format et OpenLDAP configuration file (d) |
Formats écrits | LDAP Data Interchange Format et OpenLDAP configuration file (d) |
Type | Serveur LDAP |
Licence | OpenLDAP Public License version 2.8 (d) |
Site web | www.openldap.org |
Concept
modifierOpenLDAP est un annuaire informatique qui fonctionne sur le modèle client/serveur. Il contient des informations de n'importe quelle nature qui sont rangées de manière hiérarchique. Pour bien comprendre le concept, il est souvent comparé aux pages jaunes, où le lecteur recherche un numéro de téléphone particulier : il va d'abord sélectionner la profession, puis la ville, puis le nom de l'entrée pour trouver finalement le numéro de téléphone. En pratique, dans un réseau informatique, il est utilisé pour enregistrer une grande quantité d'utilisateurs ou de services, parfois des centaines de milliers. Il permet d'organiser hiérarchiquement les utilisateurs par département, par lieu géographique ou par n'importe quel autre critère. C'est une alternative libre à Microsoft Active Directory.
Histoire
modifierLe projet a débuté en 1998 sous l'impulsion de Kurt Zeilenga en prenant pour base les travaux de l'Université du Michigan où des chercheurs développaient le protocole LDAP.
Parmi les autres contributeurs, il y a Howard Chu et Pierangelo Masarati.
Aspects techniques
modifierStockage
modifierLe logiciel OpenLDAP ne stocke pas les données directement, il utilise une bibliothèque tierce pour le faire. Généralement, c'est la base de données Berkeley DB qui est utilisée sous GNU/Linux. Mais il est possible d'utiliser MySQL, LDBM, des fichiers à plat, etc.
Réplication
modifierOpenLDAP prend en charge le mécanisme de réplication, via une directive de configuration syncrepl.
Composants d'OpenLDAP
modifierOpenLDAP est constitué de 3 éléments principaux :
- slapd (Stand-alone LDAP Daemon) : démon LDAP autonome. Il écoute les connexions LDAP sur n'importe quel port (389 par défaut) et répond aux opérations LDAP qu'il reçoit via ces connexions. Typiquement, slapd est appelé au moment du boot.
- des bibliothèques implémentant le protocole LDAP.
- des utilitaires, des outils et des exemples de clients.
Le projet OpenLDAP propose également des bibliothèques LDAP en Java :
- JLDAP[3] : bibliothèque d'accès à LDAP en Java.
- JDBC-LDAP[4] driver JDBC faisant office de pont JDBC-LDAP.
Composant obsolète : slurpd
modifierLes versions anciennes d'openLDAP utilisaient le composant slurpd, ce composant est devenu obsolète[5]. Une directive de configuration syncrepl (réplication synchronisée) permet de configurer le daemon slapd pour effectuer aussi la réplication de(s) annuaire(s) par un mécanisme dit de pull replication (le destinataire tire l'information vers lui).
- slurpd (Stand-alone LDAP Update Replication Daemon): démon de mise à jour autonome. Est utilisé pour propager les changements effectués dans une base de données slapd aux autres bases. Si slapd est configuré pour produire des log de réplication, slurpd lit ces journaux et envoie les changements aux instances slapd esclaves (dépendantes de l'instance principale, dite maîtresse) via le protocole LDAP. Cette technique est dite de push replication (le daemon pousse l'information vers le destinataire)
Principales versions
modifierLes versions d'OpenLDAP qui ont été marquantes :
- OpenLDAP Version 1 (1998) : première version publique
- OpenLDAP Version 2 (août 2000) : prise en charge de LDAPv3, d'IPv6, du TLS, …
- OpenLDAP Version 2.1 (juin 2002) :
- OpenLDAP Version 2.2 (décembre 2003) :
- OpenLDAP Version 2.3 (juin 2005) : possibilité d'avoir la configuration accessible dans l'annuaire (cn=config)
- OpenLDAP Version 2.4 (octobre 2007) : réplication miroir et multi-maître; réplication Proxy Sync; extensions LDAP v3.
Composants tiers
modifierFusionDirectory
modifier(fr) FusionDirectory est une application web sous licence GPL développé en PHP permettant de gérer facilement son annuaire LDAP et tous les services associés.
PhpLDAPadmin
modifierPhpLDAPadmin est une interface en PHP qui facilite l'édition des données du serveur OpenLDAP. Son utilisation passe par un navigateur Web.
Apache Directory Studio
modifierApache Directory Studio est une interface en Java basé sur Eclipse. Permet de gérer l'architecture LDAP, les Schémas LDAP et les fichiers LDIF.