ติดตั้งเซิร์ฟเวอร์ OpenLDAP และดูแลระบบด้วย phpLDAPadmin ใน Debian/Ubuntu
LDAP ย่อมาจาก Lightweight Directory Access Protocol ซึ่งสามารถใช้ได้หลายวิธี เช่น สำหรับการตรวจสอบสิทธิ์ ไดเรกทอรีที่ใช้ร่วมกัน (สำหรับโปรแกรมรับส่งเมล) สมุดที่อยู่ ฯลฯ โปรโตคอล LDAP สามารถใช้เพื่อสร้างและจัดเก็บข้อมูลประเภทใดก็ได้ เซิร์ฟเวอร์ OpenLDAP ช่วยให้คุณสามารถเข้าถึงข้อมูลที่จัดเก็บไว้ในโครงสร้างแบบต้นไม้ได้
ในบทความนี้ เราจะแสดงวิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ OpenLDAP และวิธีจัดการเซิร์ฟเวอร์ด้วย phpLDAPadmin บน Debian, Ubuntu ระบบ และ Linux Mint
การติดตั้งเซิร์ฟเวอร์ OpenLDAP ใน Linux
ตามค่าเริ่มต้น เซิร์ฟเวอร์ OpenLDAP จะอยู่ในที่เก็บภายใต้แพ็คเกจ “slapd“ คุณสามารถติดตั้งได้อย่างง่ายดายด้วยความช่วยเหลือของเครื่องมือจัดการแพ็คเกจที่เรียกว่า apt-get แต่ก่อนที่จะติดตั้งเซิร์ฟเวอร์ OpenLDAP ตรวจสอบให้แน่ใจว่าระบบของคุณทันสมัย
ระหว่างการติดตั้ง ระบบจะขอให้คุณป้อนรหัสผ่านสำหรับรายการ ผู้ดูแลระบบ ในไดเรกทอรี LDAP ของคุณ ป้อนรหัสผ่านที่รัดกุมและยืนยันโดยเลือก ตกลง
sudo apt-get update
sudo apt-get install slapd ldap-utils
กำหนดค่าเซิร์ฟเวอร์ OpenLDAP
ในการกำหนดค่าเซิร์ฟเวอร์ OpenLDAP คุณต้องแก้ไขไฟล์ ldap.conf ซึ่งจัดเก็บไว้ในไดเร็กทอรี /etc หากต้องการแก้ไขไฟล์ ldap.conf คุณต้องมีโปรแกรมแก้ไขข้อความ เช่น vim, nano ฯลฯ เรียกใช้คำสั่งต่อไปนี้เพื่อเปิด ldap ไฟล์การกำหนดค่าสำหรับการแก้ไข
sudo nano /etc/ldap/ldap.conf
ผลลัพธ์ของคำสั่งดังกล่าวจะแสดงในส่วนด้านล่าง
#
LDAP Defaults
#
See ldap.conf(5) for details
This file should be world readable but not world writable.
#BASE dc=example,dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
TLS certificates (needed for GnuTLS)
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
ยกเลิกหมายเหตุบรรทัด BASE และ URI เพื่อให้คุณสามารถแก้ไขได้ด้วย ชื่อโดเมน และ ที่อยู่ IP ของคุณเอง เนื่องจากนี่คือการทดสอบการติดตั้งและการกำหนดค่า ฉันจะใช้ tecmint123.com เป็นชื่อโดเมนของฉัน
#
LDAP Defaults
#
See ldap.conf(5) for details
This file should be world readable but not world writable.
BASE dc=tecmint123,dc=com
URI ldap://ldap.example.com ldap://ldap-master.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
TLS certificates (needed for GnuTLS)
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
บันทึกไฟล์และรันคำสั่งต่อไปนี้เพื่อกำหนดค่าแพ็คเกจ LDAP ใหม่
sudo dpkg-reconfigure slapd
หากต้องการสร้างฐาน DN ของไดเรกทอรี LDAP คุณต้องมีชื่อโดเมน DNS
ป้อนชื่อโดเมน DNS ของคุณแล้วกด Enter เพื่อยืนยัน จากนั้น ldap จะขอให้ป้อนชื่อองค์กรเพื่อใช้ใน DN ฐานของไดเรกทอรี LDAP ของคุณ ป้อนชื่อ บริษัท หรือ องค์กร ของคุณ แล้วกด Enter อีกครั้ง
หลังจากเพิ่มชื่อองค์กรหรือบริษัทแล้ว การกำหนดค่าแพ็คเกจจะขอให้ป้อน รหัสผ่าน สำหรับรายการ ผู้ดูแลระบบ ใน LDAP
ของคุณ ไดเรกทอรี คุณต้องป้อนรหัสผ่านสำหรับผู้ดูแลระบบที่คุณสร้างขึ้นในขั้นตอนก่อนหน้านี้
หลังจากที่คุณยืนยันรหัสผ่านของผู้ดูแลระบบแล้ว คุณต้องเลือกฐานข้อมูล มีสองฐานข้อมูลให้เลือก ได้แก่ ฐานข้อมูล BDB และ HDB ทั้งสองรองรับตัวเลือกการกำหนดค่าเดียวกัน ใช้รูปแบบการจัดเก็บข้อมูลที่คล้ายกัน แต่เนื่องจากฐานข้อมูล HDB เพิ่มการรองรับสำหรับการเปลี่ยนชื่อแผนผังย่อย จึงเป็นวิธีที่แนะนำ
คุณสามารถเลือกฐานข้อมูลที่คุณคิดว่าจะทำงานได้ดีกว่าสำหรับคุณ หลังจากที่คุณได้ตัดสินใจว่าจะใช้ฐานข้อมูลใดแล้ว ให้กด Enter เพื่อยืนยันการเลือก จากนั้นคุณจะได้รับคำถามอื่น เลือก ใช่ เพื่อลบฐานข้อมูลเมื่อ slapd ถูกล้างข้อมูล
เลือก ใช่ อีกครั้ง แล้วกด Enter
เลือก ไม่ และเซิร์ฟเวอร์ LDAP จะเริ่มทำงาน
[sudo] password for ravisaive:
* Stopping OpenLDAP slapd [ OK ]
Moving old database directory to /var/backups:
- directory unknown... done.
Creating initial configuration... done.
Creating LDAP directory... done.
* Starting OpenLDAP slapd [ OK ]
Processing triggers for libc-bin ...
ในการทดสอบเซิร์ฟเวอร์ LDAP จะใช้คำสั่ง ldapsearch -x
ldapsearch -x
มันสร้างผลลัพธ์ต่อไปนี้
extended LDIF
#
LDAPv3
base <dc=tecmint123,dc=com> (default) with scope subtree
filter: (objectclass=*)
requesting: ALL
#
tecmint123.com
dn: dc=tecmint123,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: tecmint
dc: tecmint123
admin, tecmint123.com
dn: cn=admin,dc=tecmint123,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
search result
search: 2
result: 0 Success
numResponses: 3
numEntries: 2
การบริหาร LDAP ด้วย phpLDAPadmin
phpLDAPadmin เป็นเครื่องมือการดูแลระบบ GUI สำหรับการดูแลเซิร์ฟเวอร์ LDAP เครื่องมือ GUI นี้จะช่วยให้เราโต้ตอบกับเซิร์ฟเวอร์ LDAP ของคุณผ่านทางอินเทอร์เฟซเว็บ มีอยู่ในที่เก็บเริ่มต้น โดยสามารถติดตั้งได้ด้วยคำสั่ง apt-get
แต่ก่อนที่จะติดตั้ง phpLDAPadmin คุณต้องมีเว็บเซิร์ฟเวอร์ Apache และ PHP ติดตั้งและใช้งานอยู่ ถ้าไม่ ให้ติดตั้งโดยใช้คำสั่งต่อไปนี้
sudo apt-get install apache2 php5 php5-mysql
จากนั้นให้ติดตั้งแพ็คเกจ “phpldapadmin” ดังที่แสดงด้านล่าง
sudo apt-get install phpldapadmin
เช่นเดียวกับที่เรากำหนดค่าไฟล์ ldap.conf เราจำเป็นต้องกำหนดค่าไฟล์การกำหนดค่าอินเทอร์เฟซเว็บ phpldapadmin ก่อนที่จะใช้งาน เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดไฟล์ phpldapadmin config.php
sudo nano /etc/phpldapadmin/config.php
สิ่งที่คุณต้องทำคือแทนที่ ชื่อโดเมน ด้วยค่าของคุณเอง ส่วนการกำหนดค่าที่จำเป็นสำหรับกรณีนี้อยู่ภายใต้ส่วน “กำหนดเซิร์ฟเวอร์ LDAP ของคุณ”
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','Tecmint LDAP Server');
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','base',array('dc=tecmint123,dc=com'));
$servers->setValue('login','bind_id','cn=admin,dc=tecmint123,dc=com');
หลังจากที่คุณแก้ไขไฟล์การกำหนดค่า config.php เสร็จแล้ว ให้เปิดแท็บในเว็บเบราว์เซอร์ของคุณแล้วพิมพ์ “http://ip_address_here/phpldapadmin” URL< /แข็งแกร่ง>. ป้อนข้อมูลรับรองการเข้าสู่ระบบ ldap ของคุณแล้วคลิกเข้าสู่ระบบ
ลิงค์อ้างอิง
- หน้าแรกของ OpenLDAP
- หน้าแรกของ phpLDAPadmin