Advertisement

header ads

วิธีทำ LDAP Replicate Master Slave ง่ายๆบน Centos 7 แบบ Step by step



วิธีทำ LDAP Replicate Master Slave ง่ายๆบน Centos 7 แบบ Step by step
การทำผมไม่อยากยุ่งกับ user root ของ ldap เลยต้องสร้าง user replicate แยกครับ มาเริ่มกันเลย

LDAP Master Server.
1.สร้างไฟล์ rpuser.ldif ก่อนครับ เพื่อใช้ User นี้ทำ replicate

# vi rpuser.ldif
dn: uid=rpuser,dc=ymserver,dc=com
objectClass: simpleSecurityObject
objectclass: account
uid: rpuser
description: Replication  User
userPassword: password

ทำการ import ไฟล์ลง Ldap server
#ldapadd -x -W -D "cn=Manager,dc=ymserver,dc=com" -f rpuser.ldif

ผลลัพธ์ที่ได้
Enter LDAP Password:
adding new entry "uid=rpuser,ymserver,dc=com"

2.สร้างไฟล์ syncprov_mod.ldif เพื่อEnable syncprov module บน ldap master
#vi syncprov_mod.ldif

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la

ทำการ import ไฟล์ลง Ldap server
# ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif

ผลลัพธ์ที่ได้
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"


3.สร้างไฟล์ syncprov.ldif เพื่อ enable syncprov ในแต่ละ directory
# vi syncprov.ldif
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
ทำการ import ไฟล์ลง Ldap server
# ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

ผลลัพธ์ที่ได้
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcOverlay=syncprov,olcDatabase={2}hdb,cn=config"


Slave Server


5.ติดตั้ง ldap ก่อน ดูได้จากบทความ
วิธีติดตั้ง LDAP SERVER บน Centos 7 แบบ Step by Step

6.สร้างไฟล์ rp.ldif เพื่อตั้งค่า Replicate
# vi rp.ldif
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
  provider=ldap://192.168.1.112:389/
  bindmethod=simple
  binddn="uid=rpuser,dc=ymserver,dc=com"
  credentials=password
  searchbase="dc=ymserver,dc=com"
  scope=sub
  schemachecking=on
  type=refreshAndPersist
  retry="30 5 300 3"
  interval=00:00:05:00
ทำการ import ไฟล์ลง Ldap server
# ldapmodify -Y EXTERNAL  -H ldapi:/// -f rp.ldif


ผลลัพธ์ที่ได้
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}hdb,cn=config"



ทดสอบ LDAP replication

7.สร้างไฟล์  adduser.ldif  เพื่อเพิ่ม User ฝั่ง ldap master
# vi adduser.ldif

dn: uid=user01,ou=People,dc=ymserver,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: user01
uid: user01
uidNumber: 9988
gidNumber: 100
homeDirectory: /home/ldaprptest
loginShell: /bin/bash
gecos: LDAP Replication Test User
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
ทำการ import ไฟล์ลง Ldap server
# ldapadd -x -W -D "cn=Manager,dc=ymserver,dc=com" -f adduser.ldif

ผลลัพธ์ที่ได้
Enter LDAP Password:
adding new entry "uid=user01,ou=People,dc=ymserver,dc=com"

8.ลองค้นหาด้วยคำสั่ง ldapsearch
# ldapsearch -x cn=user01 -b dc=ymserver,dc=com

ผลลัพธ์
# user01, People, ymserver.com
dn: uid=user01,ou=People,dc=ymserver,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: user01
uid: user01
uidNumber: 9988
gidNumber: 100
homeDirectory: /home/user01
loginShell: /bin/bash
gecos: LDAP Replication Test User
userPassword:: cGFzc3dvcmQ=
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

แสดงความคิดเห็น

0 ความคิดเห็น