Instal OpenLDAP Server dan Kelola dengan phpLDAPadmin di Debian/Ubuntu


LDAP adalah singkatan dari Lightweight Directory Access Protocol yang dapat digunakan dalam berbagai cara seperti untuk autentikasi, direktori bersama (untuk klien email), buku alamat, dll. Protokol LDAP dapat digunakan untuk membuat dan menyimpan segala jenis informasi. Server OpenLDAP memberi Anda kemungkinan untuk mengakses informasi yang disimpan dalam struktur pohon.

Dalam artikel ini kami akan menunjukkan kepada Anda cara memasang dan mengonfigurasi server OpenLDAP dan cara mengelolanya dengan phpLDAPadmin di Debian, Ubuntu dan sistem Linux Mint.

Instalasi Server OpenLDAP Di Linux

Secara default, server OpenLDAP berada dalam repositori di bawah paket “slapd“. Anda dapat dengan mudah menginstalnya dengan bantuan alat manajer paket yang disebut apt-get. Namun sebelum menginstal server OpenLDAP, pastikan sistem Anda terkini.

Selama instalasi, Anda akan diminta memasukkan sandi untuk entri admin di direktori LDAP Anda. Masukkan kata sandi yang kuat dan konfirmasikan dengan memilih OK.

 
sudo apt-get update 
sudo apt-get install slapd ldap-utils

Konfigurasikan Server OpenLDAP

Untuk mengonfigurasi server OpenLDAP Anda perlu mengedit file ldap.conf, yang disimpan dalam direktori /etc. Untuk mengedit file ldap.conf Anda memerlukan editor teks seperti vim, nano dll. Jalankan perintah berikut untuk membuka ldap file konfigurasi untuk diedit.

sudo nano /etc/ldap/ldap.conf

Output dari perintah di atas ditunjukkan pada bagian di bawah ini.

#
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

Batalkan komentar pada baris BASE dan URI, sehingga Anda dapat mengeditnya dengan nama domain dan alamat IP Anda sendiri. Karena ini adalah instalasi dan konfigurasi pengujian, saya akan menggunakan tecmint123.com sebagai nama domain saya.

#
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

Simpan file dan jalankan perintah berikut untuk mengkonfigurasi ulang paket LDAP.

sudo dpkg-reconfigure slapd

Untuk membuat DN dasar direktori LDAP Anda memerlukan nama domain DNS.

Masukkan nama domain DNS Anda dan tekan Enter untuk mengonfirmasinya. Kemudian ldap akan meminta untuk memasukkan nama organisasi yang akan digunakan dalam DN dasar direktori LDAP Anda. Masukkan nama perusahaan atau organisasi Anda dan tekan Enter lagi.

Setelah nama organisasi atau perusahaan ditambahkan, konfigurasi paket akan meminta untuk memasukkan kata sandi untuk entri admin di LDAP
Anda direktori. Anda perlu memasukkan kata sandi untuk admin yang Anda buat pada langkah sebelumnya.

Setelah Anda mengonfirmasi kata sandi administrator, Anda harus memilih database. Ada dua database yang dapat dipilih, database BDB dan HDB. Keduanya mendukung opsi konfigurasi yang sama, menggunakan format penyimpanan yang serupa, namun karena database HDB menambahkan dukungan untuk penggantian nama subpohon, maka ini adalah yang direkomendasikan.

Anda dapat memilih database yang menurut Anda akan bekerja lebih baik untuk Anda. Setelah Anda memutuskan database mana yang akan Anda gunakan, tekan Enter untuk mengonfirmasi pilihan. Kemudian Anda akan diarahkan dengan pertanyaan lain. Pilih Ya untuk menghapus database ketika slapd dihapus.

Pilih lagi Ya dan tekan Enter.

Pilih Tidak dan server LDAP akan mulai berjalan.

[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 ...

Untuk menguji server LDAP, perintah ldapsearch -x digunakan.

ldapsearch -x

Ini menghasilkan output berikut.

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

Administrasi LDAP dengan phpLDAPadmin

phpLDAPadmin adalah alat administrasi GUI untuk administrasi server LDAP. Alat GUI ini akan membantu kami berinteraksi dengan server LDAP Anda melalui antarmuka web. Ini tersedia di repositori default, dapat diinstal dengan perintah apt-get.

Namun sebelum menginstal phpLDAPadmin, Anda harus sudah menginstal dan menjalankan server web Apache dan PHP. Jika tidak, instal menggunakan perintah berikut.

sudo apt-get install apache2 php5 php5-mysql

Selanjutnya install paket “phpldapadmin” seperti gambar di bawah ini.

sudo apt-get install phpldapadmin

Sama seperti kita mengonfigurasi file ldap.conf, kita juga perlu mengonfigurasi file konfigurasi antarmuka web phpldapadmin sebelum menggunakannya. Jalankan perintah berikut untuk membuka file phpldapadmin config.php.

sudo nano /etc/phpldapadmin/config.php

Yang perlu Anda lakukan hanyalah mengganti nama domain dengan nilai Anda sendiri. Bagian konfigurasi yang diperlukan untuk kasus ini ada di bagian “Tentukan server LDAP Anda”.

$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');

Setelah Anda selesai mengedit file konfigurasi config.php, buka tab di browser web Anda dan ketik “http://ip_address_here/phpldapadminURL. Masukkan kredensial login ldap Anda dan klik login.

Tautan Referensi

  1. Beranda OpenLDAP
  2. Beranda phpLDAPadmin