2 posts la même journée, quelle folie ! Ce deuxième post donne un moyen de résoudre le problème suivant sur OpenLDAP. J’ai une base d’utilisateur sur un serveur central (ou=people,dc=example,dc=org). Cette base est répliquée sur un autre serveur via syncrepl. Ce serveur esclave servira à authentifier des gens sur un serveur subversion HTTPS. Seulement, on aimerait pouvoir ajouter des gens à cette base sans recréer une nouvelle instance slapd et utiliser les overlay proxy / meta. Un truc genre ou=extern,dc=example,dc=org nous irait à merveille. On va donc utiliser le mécanisme de glue pour faire ça. Deux bases bdb seront définies : une avec le suffix ou=people,dc=example,dc=org (le replica) et l’autre avec dc=example,dc=org (pour les ajouts locaux). Éditer le slapd.conf :
# Base replica database bdb suffix ou=people,dc=example,dc=org rootdn cn=admin,dc=example,dc=org # Pour activer la "glue" subordinate # Infos de syncrepl + index [...] # Base parente (inscriptible) database bdb suffix dc=example,dc=org rootdn cn=admin,dc=example,dc=org rootpw secret # Index [...]
Les deux instances doivent avoir le même rootdn et les bases “subordinate” ne doivent pas avoir de rootpw. A noter que l’on peut utiliser ça avec des bases meta (slapo-meta), ldap (slapd-ldap) etc. Dans des topologies de répartition de charge c’est assez pratique. OpenLDAP c’est vraiement un truc que j’exploite à 5% de ce que ça sait faire …