NB: La réplication avec sl{a,ur}pd n'est plus supportée à partir de openldap 2.4.7. A partir de cette version, il faudra utiliser le moteur LDAP Sync Replication.
NB:J'utilise une debian, donc par defaut le compte admin est “cn=admin,<basedn>”
Sur le master :
# /etc/init.d/slapd stop # slapcat > export.ldif # /etc/init.d/slapd start
Et on copie le fichier vers le slave. Comme je pars avec un slave vierge, et que je réplique toute mon arborescence, j'édite le fichier d'export pour enlever l'entrée du basedn + celle de l'admin LDAP. De même il faudra penser à recopier les schémas LDAP existant du master vers le slave, et les inclure depuis le slapd.conf du slave sinon vous allez recontrer cette erreur:
<= str2entry: str2ad(sambaSID): attribute type undefined slapadd: could not parse entry (line=61)
lors de l'import initial.
Sur le slave :
# /etc/init.d/slapd stop # slapadd -l export.ldif # /etc/init.d/slapd start
et zou !
Sur le master il faut indiquer dans le slapd.conf :
Le fichier où seront stockées les modifications :
replogfile /var/log/slapd/replog
Attention : penser à créer le fichier et donner les droits à l'utilisateur du serveur ldap
Les hosts qui seront des slaves : (avec une ligne par slave)
replica host="ldap2.mondomaine.lan:389" binddn="cn=replica,dc=mondomaine,dc=lan" credentials="monpasswordquifaitkikoo" bindmethod=simple
Ouais ouais je fais pas de ssl/tls/kerberos/mes couilles, je sais :)
l'intervalle de réplication
replicationinterval 300
C'est tout simple, il suffit de préciser le user de réplication :
updatedn "cn=replica,dc=mondomaine,dc=lan"
On relance les LDAP de chaque coté, et zou. Sur le master le slurpd sera démarré automatiquement à cause des directives de réplication.
Sortez votre plus beau GQ et insérez une entrée de test dans l'arborescence du maitre : elle devrait apparaitre 5 minutes (au plus) plus tard sur le slave.
autre point de vérification :
# cat /var/log/slapd/replog
qui montrera les infos en attente de réplication vers le slave.