Sinkronisasi/Replikasi
Database Direktori LDAP
oleh Henry Saptono
henry@nurulfikri.com
Pada tulisan ini diasumsikan anda telah mengerti dasar-dasar LDAP dan konfigurasinya. Anda dapat melakukan sinkronisasi data (entry) direktori LDAP antara master server LDAP dengan server LDAP lainnya (slave LDAP server) . Dalam konfigurasi ini yang terjadi adalah isi dari database direktori dikopikan dari master ke slave. Sehingga anda dapat mengkonfigurasi dan memungkinkan sinkronisasi data dalam database direktori LDAP secara kontinyu.
Replikasi dan Sinkronisasi
Pada pembahasan sinkronisasi direktori ldap ini anda akan berhadapan dengan dua buah proses berkiut ini yaitu replikasi dan sinkronisasi. Proses replikasi sesungguhnya adalah bagian dari proses sinkronisasi diamana data yang ada dalam database direktori LDAP server diduplikasi atau di salin ke server LDAP lainnya. Hanya saja dalam proses replikasi belum tentu adanya proses peng-update-an data yang dapat berlangsung secara kontinyu. Sedangkan sinkronisasi juga merupakan replikasi yang memungkinkan peng-update-an data secara kontinyu.
Sebagai informasi agar anda tidak bingung nantinya kita akan menggunakan kata replikasi yang juga berarti sinkronisasi.
Membangun sistem Replikasi/Sinkronisasi Direktori LDAP
Untuk membangun sistem Replikasi/sinkronisasi database direktori LDAP, anda memerlukan dua buah server LDAP (yang pertama sebagai master server LDAP dan yang kedua sebagai slave server LDAP).
Sebelumnya diasumsikan pada kedua server LDAP telah terinstall aplikasi atau program LDAP server ataupun client.
Membangun master server LDAP
membuat struktur hirarki direktori database ldap, dengan mendefinisikannya dalam file konfigurasi ldap server (/etc/openldap/slapd.conf) sbb:
database ldbm
suffix "dc=nurulfikri,dc=com"
mendefinisikannya rootdn, yaitu sebuah entry DN(Distinguished Name) untuk seorang user yang tidak dibatasi oleh akses kendali atau seorang administrator direktori LDAP. Sbb:
rootdn "cn=Manager,dc=nurulfikri,dc=com"
mendefinisikan password rootpw, yaitu password untuk rootdn sbb:
rootpw {SSHA}5IKI5ZaMnfou7Y1tvE+aMmPrcIlPoTGd
mendefinisikan direktori tempat berisi seluruh data direktori ldap untuk struktur database ini, sbb:
directory /var/lib/ldap
mendefinisikan direktif-direktif yang berhubungan dengan proses replikasi sbb:
lastmod on
replogfile /var/lib/ldap/logreplica
replica host=rnd-2.lpk.nf:389
binddn="cn=Manager,dc=nurulfikri,dc=com"
bindmethod=simple
credentials=test
mengaktifkan server ldap sebagai master server ldap sbb:
[root@rnd-1 root]# /etc/rc.d/init.d/ldap start
Starting slapd: [ OK ]
Starting slurpd: [ OK ]
menambahkan entry Root Hirarki direktori database LDAP sbb:
buatlah file ldif yang diberi nama root.ldif berisi sbb:
#root hirarki direktori ldap
dn: dc=nurulfikri, dc=com
objectclass: organization
o: Yayasan Pendidikan Nurulfikri
lalu simpan file ini dan lakukan proses penmabahan entry ke ldap server sbb:
#ldapadd -x -D "cn=Manager,dc=nurulfikri,dc=com" -f root.ldif -W
menambahkan entry sub organisasi untuk hirarki database ldap server ini sbb:
buatlah file ldif yang diberi nama subroot.ldif berisi sbb:
#sub organisasi komputer
dn: ou=komputer,dc=nurulfikri, dc=com
objectclass: organizationalUnit
ou: komputer
#sub organisasi statistika
dn: ou=statistika,dc=nurulfikri, dc=com
objectclass: organizationalUnit
ou: statistika
lalu simpan file ini dan lakukan proses penmabahan entry ke ldap server sbb:
#ldapadd -x -D "cn=Manager,dc=nurulfikri,dc=com" -f subroot.ldif -W
menambahkan entry person atau anggota organisasi sbb:
buatlah file ldif yang diberi nama person.ldif yang berisi sbb:
#entry 1
dn: cn=yatno, ou=komputer, dc=nurulfikri, dc=com
objectclass: person
objectclass: organizationalUnit
objectClass: inetorgperson
ou: komputer
cn: yatno malakiano
sn: malakiano
homePhone: 8987654
title: PJ Lokasi
mail: yatno@nurulfikri.com
#entry 2
dn: cn=ismail, ou=statistika, dc=nurulfikri, dc=com
objectclass: person
objectclass: organizationalUnit
objectClass: inetorgperson
ou: statistika
cn: ismail mangkubuoyo
sn: mangkubuoyo
homePhone: 7775678
title: Kepala Keuangan
mail: ismail@nurulfikri.com
lalu simpan file ini dan lakukan proses penmabahan entry ke ldap server sbb:
#ldapadd -x -D "cn=Manager,dc=nurulfikri,dc=com" -f person.ldif -W
Cek atau coba search atau tampilkan isi database direktori master server ldap dan backup ke sebuah file sbb:
#ldapsearch -x -b "dc=nurulfikri,dc=com"
#ldapsearch -x -b "dc=nurulfikri,dc=com" > backup.ldif
transfer atau salin file backup (backup.ldif) database direktori ldap ke slave server ldap.
Membangun slave server LDAP
membuat struktur hirarki direktori database ldap, dengan mendefinisikannya dalam file konfigurasi ldap server (/etc/openldap/slapd.conf) sbb:
database ldbm
suffix "dc=nurulfikri,dc=com"
mendefinisikannya rootdn, yaitu sebuah entry DN(Distinguished Name) untuk seorang user yang tidak dibatasi oleh akses kendali atau seorang administrator direktori LDAP. Sbb:
rootdn "cn=Manager,dc=nurulfikri,dc=com"
mendefinisikan password rootpw, yaitu password untuk rootdn sbb:
rootpw {SSHA}5IKI5ZaMnfou7Y1tvE+aMmPrcIlPoTGd
mendefinisikan direktori tempat berisi seluruh data direktori ldap untuk struktur database ini, sbb:
directory /var/lib/ldap
mendefinisikan updatedn, yaitu entry DN yang sesuai atau sama sebagaimana yang didefinisikan dalam direktif binddn pada master server ldap sbb:
updatedn "cn=Manager,dc=nurulfikri,dc=com"
mengaktifkan server ldap sebagai slave server ldap sbb:
[root@rnd-2 root]# /etc/rc.d/init.d/ldap start
Starting slapd: [ OK ]
menambahkan entry baru ke dalam slave server ldap dengan entry yang ada dalam file hasil backup (backup.ldif) database direktori master server ldap sbb:
#ldapadd -x -D "cn=Manager,dc=nurulfikri,dc=com" -f backup.ldif -W
Menguji proses replikasi/sinkronisasi database direktori LDAP
Untuk menguji apakah proses replikasi/sinkronisasi database direktori LDAP antara master dengan slave server LDAP, lakukan cara berikut ini:
Tambahkan entry data pada master server LDAP dengan sebelumnya membuat file ldif yang berisi sbb:
dn: cn=salmanas,ou=komputer,dc=nurulfikri,dc=com
objectClass: person
objectClass: organizationalUnit
objectClass: inetorgperson
ou: komputer
cn: salmanas agus
sn: agus
mail: salmanas@nurulfikri.com
homePhone: 89898989
title: Direktur
lalu simpan file ini dengan nama update.ldif dan lakukan proses penambahan entry ke master server ldap sbb:
#ldapadd -x -D "cn=Manager,dc=nurulfikri,dc=com" -f update.ldif -W
Lalu coba search atau tampilkan entry yang baru ditambahkan kedalam database direktori master server ldap pada slave server sbb:
#ldapsearch -x -b "dc=nurulfikri,dc=com" "cn=salmanas*"
nah anda akan melihat hsilnya, ternyata slave melakukan pengupdate-an entry database direktori dari master server ldap.
Selanjutnya anda dapat mencoba lagi .... :)