====== Master/Slave Replication ====== ===== Konfiguration Master ===== ''/etc/ldap/slapd.conf'' : moduleload syncprov database bdb suffix dc=villa,dc=local index objectclass,entryCSN,entryUUID eq overlay syncprov syncprov-checkpoint 100 10 syncprov-sessionlog 100 limits dn.exact="cn=replicant,ou=services,dc=example,dc=com" time=unlimited size=unlimited access to * by cn=replicant,ou=services,dc=example,dc=com read by none break ''replicant.ldif'' : # replica, services, example.com dn: cn=replicant,ou=services,dc=example,dc=com objectClass: organizationalRole objectClass: top objectClass: simpleSecurityObject userPassword:: e1NIQX04UWVNNjVTM3IvQjUzc3NWWSs4djRuK3hmN289 cn: replica ===== Konfiguration Slave ===== cd /var/lib/ldap scp -r master:/etc/ldap/. . rm -rf slapd.d ''/etc/ldap/slapd.conf'' : database xxx rootdn "cn=admin,dc=example,dc=com" syncrepl rid=100 provider=ldap://ldap1.example.com searchbase=dc=example,dc=com type=refreshAndPersist retry="60 10 600 +" scope=sub bindmethod=simple binddn="cn=replicant,ou=services,dc=example,dc=com" credentials="replica" updateref ldap://ldap1.example.com ===== Server starten ===== Master: service slapd start Slave: service slapd stop rm -f /var/lib/ldap/* chown openldap:openldap /var/lib/ldap/* service slapd start ====== Master/Slave Replication Teilbaum ====== ''/etc/ldap/slapd.conf'' : wie oben, aber syncrepl erweitert um: filter="(| (objectclass=organization) (objectclass=organizationalunit) (objectclass=account) )" attrs="objectclass,cn,ou,uid,userpassword" schemachecking=off ====== Schreibbarer Slave ====== Schreiboperationen vom Slave an den Master weiterleiten ''/etc/ldap/slapd.conf'' : moduleload back_ldap overlay chain chain-uri "ldap://ldap1.example.com" chain-idassert-bind bindmethod="simple" binddn="cn=admin,dc=example,dc=com" credentials="villa" mode="self" chain-return-error TRUE chain-rebind-as-user TRUE ====== Konfiguration im DIT ====== ''/etc/ldap/slapd.conf'' : zum letzten mal hier, vor der ersten ''database'' database config rootdn cn=admin,cn=config rootpw admin mkdir slapd.d slaptest -f slapd.conf -F slapd.d chown -R openldap:openldap slapd.d/ slapcat -b cn=config | grep '^dn' ====== Dokumentation ====== * [[http://www.openldap.org/doc/admin24/syncrepl.html]] * man slapd.conf * Multi-Master Konfiguration: http://www.openldap.org/doc/admin24/replication.html#N-Way%20Multi-Master und http://ltb-project.org/wiki/documentation/openldap-mmr