Pada artikel ini, kita akan membahas bagaimana cara melakukan konfigurasi replication pada server LDAP. Replication adalah proses penyimpanan data yang sama pada lebih dari satu server. Dalam kasus ini, kita memiliki dua server LDAP, yaitu master dan slave.
Konfigurasi Master Server
Pada master server, kita perlu mengkonfigurasi file slapd.conf
untuk melakukan replication. Berikut adalah contoh konfigurasi yang dapat dilakukan:
replica host=slave.example.org:389 tls=no
binddn="cn=admin,dc=ldap,dc=example,dc=com"
bindmethod=simple
credentials=[passwordnya]
Field replica
menunjukkan nama host slave LDAP server dan portnya. Field binddn
digunakan untuk login ke slave LDAP server, sedangkan field credentials
adalah password dari user tersebut.
Konfigurasi Slave Server
Pada masing-masing slave LDAP server, kita perlu mengkonfigurasi file slapd.conf
dengan entry sebagai berikut:
updatedn "cn=admin,dc=example,dc=org"
Field updatedn
digunakan untuk login ke slave LDAP server dan update database.
Testing dan Debug
Sekarang kita telah siap untuk mendebug. Kita akan melakukan testing dengan menambahkan beberapa data pada master server menggunakan perintah ldapadd
. Berikut adalah contoh perintah yang dapat dilakukan:
root@ldap1:/# ldapadd -x -D "cn=admin,dc=example,dc=org" -W -f coba.ldif
File coba.ldif
berisi beberapa entry yang akan ditambahkan pada master server. Jika prosesnya berhasil, maka data tersebut juga akan terlihat pada masing-masing slave LDAP server.
Mendebug Replika
Untuk mendebug replika, kita dapat melihat log pada file /var/lib/ldap/replog.log
. Berikut adalah contoh output yang dapat ditemui:
replica: slave.example.org:389
time: 1162740692
dn: cn=coba,ou=Group,dc=example,dc=org
changetype: add
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=coba,ou=People,dc=example,dc=org
cn: coba
structuralObjectClass: groupOfUniqueNames
entryUUID: 75478270-012e-102b-976c-05894c1414ee
creatorsName: cn=admin,dc=example,dc=org
createTimestamp: 20061105153132Z
entryCSN: 20061105153132Z#000000#00#000000
modifiersName: cn=admin,dc=example,dc=org
modifyTimestamp: 20061105153132Z
replica: slave.example.org:389
time: 1162740692
dn: cn=coba,ou=People,dc=example,dc=org
changetype: add
objectClass: person
objectClass: inetOrgPerson
objectClass: top
userPassword:: e0NSWVBUfSQxJHVRaGE5WGJ1JC5pU0lVUHBUdHB3Mjd6TDhBb0xDWTA=
cn: coba
sn: coba
structuralObjectClass: inetOrgPerson
entryUUID: 7547dd42-012e-102b-976d-05894c1414ee
creatorsName: cn=admin,dc=example,dc=org
createTimestamp: 20061105153132Z
entryCSN: 20061105153132Z#000001#00#000000
modifiersName: cn=admin,dc=example,dc=org
modifyTimestamp: 20061105153132Z
Output tersebut menunjukkan bahwa data yang ditambahkan pada master server telah terlihat pada masing-masing slave LDAP server.