ติดตั้ง openldap บน ubuntu
- ทดสอบกับ Ubuntu 8.04, openldap 2.4.9
- ติดตั้งด้วยคำสั่ง sudo apt-get install slapd
slapd คือชื่อ Service ของ OpenLDAP Server
จากนั้นระบบจะให้กำหนดรหัสผ่านของ Admin ให้ใส่ลงไป และทำการยืนยันอีกครั้ง
ระบบจะทำการติดตั้งจนเสร็จ
หากต้องการทราบรุ่นของ OpenLDAP ใช้คำสั่ง sudo dpkg-query -l | grep slapd
- สั่งให้ slapd ทำงานด้วยคำสั่ง sudo /etc/init.d/slapd start
- การปรับแต่ง OpenLDAP ให้แก้ไขไฟล์ /etc/ldap/slapd.conf
ฐานข้อมูลของระบบเก็บอยู่ที่ /var/lib/ldap
- การวางโครงสร้างของ Directory Service
ในการติดตั้งครั้งแรก ระบบจะตั้งโครงสร้างตาม Domain ที่กำหนดไว้ของเครื่อง Server
ตัวอย่างเช่น psu.ac.th
ในไฟล์ /etc/ldap/slapd.conf จะกำหนดไว้ใน Directive : suffix ว่า
suffix "dc=example,dc=org"
ตัวอย่างการแก้ไข โครงสร้างจาก example.org ให้เป็น my.domain
suffix "dc=my,dc=domain"
rootdn "cn=admin,dc=my,dc=domain"
rootpw xxxxxxxxxx
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=my,dc=domain" write
by anonymous auth
by self write
by * none
access to *
by dn="cn=admin,dc=my,dc=domain" write
by * read
จากนั้นให้ Save
หากมีโครงสร้างเดิมอยู่แล้วต้องการลบทิ้ง ให้ใช้คำสั่ง
sudo rm /var/lib/ldap/*
แล้ว Restart ด้วยคำสั่ง sudo /etc/init.d/slapd restart
- หากต้องการกู้ระบบเดิมที่ทำการ Backup เป็นไฟล์ .ldif ไว้แล้ว สมมุติชื่อ backup.ldif
โดยต้องการให้โครงสร้างเหมือนเดิมทุกประการ
ให้ทำดังนี้
หยุดการทำงานของ OpenLDAP ด้วยคำสั่ง sudo /etc/init.d/slapd stop
หากมีโครงสร้างเดิมอยู่แล้วต้องการลบทิ้ง ให้ใช้คำสั่ง
sudo rm /var/lib/ldap/*
แล้วใช้คำสั่ง sudo slapadd -l backup.ldif
กำหนด owner ให้ Database Directory ให้เป็น openldap:openldap ด้วยคำสั่ง sudo chown -R openldap.openldap /var/lib/ldap
แล้วเริ่มการทำงานใหม่ ด้วยคำสั่ง sudo /etc/init.d/slapd start
- การทำ Replication ด้วย Syncrepl
แก้ไขไฟล์ /etc/ldap/slapd.conf
ใส่ค่าต่อไปนี้ลงไป
syncrepl rid=001
provider=ldap://provider.my.domain:389
type=refreshOnly
interval=01:00:00:00
searchbase="dc=my,dc=domain"
filter="(objectClass=*)"
scope=sub
attrs="cn,sn,ou,telephoneNumber,title,l"
schemachecking=off
bindmethod=simple
binddn="cn=admin,dc=my,dc=domain"
credentials=xxxxxxxxxx
จากนั้น Save ก็เรียบร้อย
ค่าข้างต้น จะทำการ Replication จาก Provider ชื่อ ldap://provider.my.domain:389 โดยทำการ RefreshOnly