Ce tuto va partir expliquer l'installation sur deux serveurs pré-installé en Debian Squeeze, d'OpenLDAP configuré en réplication multi-maitre.
apt-get install slapd ldap-utils
echo -n "[mon mot de passe hashé]"|base64
olcRootPW:: [hash du mot de passe encodé en base64]
dn: ou=sysaccounts,o=example objectClass: organizationalUnit ou: sysaccounts dn: uid=syncrepl,ou=sysaccounts,o=example objectClass: simpleSecurityObject objectClass: account uid: syncrepl userPassword:: [hash du mot de passe encodé en base64]
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcSizeLimit olcSizeLimit: dn.base="uid=syncrepl,ou=sysaccounts,o=example" size=unlimited time=unlimited
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: {0}syncprov olcSpCheckpoint: 100 10 olcSpSessionlog: 100
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryUUID eq - add: olcDbIndex olcDbIndex: entryCSN eq
Le premier serveur est maintenant installé sans réplication. Nous allons pouvoir mettre en place le second serveur.
L’installation du second serveur va consisté à répliquer la configuration puis les données du premier serveur.
apt-get install slapd ldap-utils
chown openldap: -R /var/lib/ldap /etc/ldap/slapd.d
OpenLDAP est maintenant actif et configuré sur les deux serveurs. Le seconde serveur ne dispose pas encore des données de l'arbre LDAP, il les récupérera au moment de la première synchronisation.
dn: cn=config changetype: modify add: olcServerID olcServerID: 2 dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: {0}rid=002 provider=ldap://ldap1.example.com type=refreshAndPersist retry="5 5 300 +" searchbase="o=example" attrs="*,+" filter="(objectClass=*)" bindmethod=simple binddn="uid=syncrepl,ou=sysaccounts,o=example" credentials="[mot de passe syncrepl]"
dn: cn=config changetype: modify add: olcServerID olcServerID: 1 dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: {0}rid=001 provider=ldap://ldap2.example.com type=refreshAndPersist retry="5 5 300 +" searchbase="o=example" attrs="*,+" filter="(objectClass=*)" bindmethod=simple binddn="uid=syncrepl,ou=sysaccounts,o=example" credentials="[mot de passe syncrepl]"
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcMirrorMode olcMirrorMode: TRUE