LDAP (Lighweight Directory Access Protocol) adalah sebuah protokol  untuk mengelola informasi secara terpusat melalui penggunaan hirarki file dan direktori. Informasi yang dikelola biasanya informasi tentang pegawai yang dalam implementasi dilapangan akan berperan sebagai pengguna, pengguna aplikasi/layanan tertentu. Informasi tersebut mencakup User ID, password, email, bagian/departemen pegawai, nomor telpon dan lain sebagainya.

Protokol sejenis dikembangkan oleh Microsoft dengan Active Directory-nya, untuk versi opensource dan berplatform Linux biasanya menggunakan LDAP ini. LDAP/Active Directory bersifat fundamental bagi yang ingin menerapkan Single Sign On (SSO), karena hampir semua framework SSO seperti CAS, Josso, Crowd, OpenID, OAuth, menggunakan LDAP/Active Directory sebagai sumber informasi penggunanya.

Baiklah, karena saya sendiri lumayan kesulitan untuk menemukan langkah-langkah tutorial yang dapat menjelaskan secara gamblang mulai dari langkah instalasi/konfigurasi LDAP, pengelolaan organisasi/pengguna, sampai dengan implementasinya agar dapat dimanfaatkan oleh salah satu bahasa pemrograman (PHP misalnya). Oleh karena itu, saya akan mencoba untuk menulis ulang dari beberapa tutorial menjadi satu kesatuan turorial utuh, agar Anda yang ingin hanya sekedar mencoba menjadi lebih bersemangat lagi.

Instalasi-Konfigurasi LDAP

Referensi sumber: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-a-basic-ldap-server-on-an-ubuntu-12-04-vps

Sistem operasi yang digunakan adalah Linux Ubuntu 14.04 yang berjalan diatas mesin virtual tentu saja, Anda dapat menggunakan VMWare Workstation atau VirtualBox.

Install LDAP

OpenLDAP server di repositori default Ubuntu di bawah paket “slapd”, jadi anda dapat dengan mudah memasangnya dengan perintah apt-get.

Masukkkan password untuk account LDAP administrator.

Konfigurasi Ulang slapd

Saat instalasi selesai, anda harus melakukan konfigurasi ulang dari paket LDAP, ketikkan perintah berikut untuk menuju ke paket configuration tool:

Anda akan ditanya beberapa pertanyaan terkait konfigrasi dasar LDAP server

  • Omit OpenLDAP server configuration? No
  • DNS domain name?
    • Dimaksudkan untuk membentuk satu struktur dasar dari path direktori Anda. Bacalah pesan keterangannya agar memahami bagaimana kerjanya.
    • Tidak ada satu set aturan untuk bagaimana mengkonfigurasi ini, jika Anda memang mempunyai nama domain untuk server ini, Anda dapat menggunakannya, jika tidak, anda dapat menggunakan nama domain apa saja
    • Pada tulisan ini, kita akan menggunakan nama domain test.com
  • Organization name? Kita akan menggunakan nama organisasi example
  • Administrator password? Gunakan password Anda sewaktu melakukan instalasi atau bisa juga menggunakan password yang lain
  • Database backend to use? HDB
  • Remove the database when slapd is purge? No
  • Move old database? Yes
  • Allow LDAPv2 protocol? No

Sampai disini proses instalasi LDAP selesai.

Install PHPldapadmin

Untuk melakukan administrasi LDAP kita butuh satu alat browser, ada beberapa alat yang dapat digunakan, salah satunya adalah PHPldapadmin (web interface). Install phpldapadmin dengan perintah:

Perintah itu akan memasang web server yang dibutuhkan dan PHP dependencies nya.

Konfigurasi PHPldapadmin

Sebelum menggunakan PHPldapadmin, kita wajib melakukan beberapa konfigurasi terlebih dahulu, buka file konfigurasi dengan privileges root:

Ubahlah nilai dengan warna merah, dapat diisi dengan nama domain atau alamat IP

Menjadi

$servers->setValue('server','host','127.0.0.1');

Karena kita menggunakan nama domain test.com maka lakukan penyesuaian di baris berikut:

$servers->setValue('server', 'base', array('dc=test,dc=com'));

Konfigurasi selanjutnya adalah pada baris berikut:

$servers->setValue('login','bind_id','cn=admin,dc=test,dc=com');

Temukan “hidetemplatewarning” atribut, kita akan menonaktifkan baris ini dan mengeset nilainya dengan “true” untuk menghindari kebingungan beberapa peringatan yang tidak penting.

$config->custom->appearance['hide_template_warning'] = true;

Simpan dan keluar dari file.

Karena tutorialnya lumayan panjang, dan saya lumayan malas untuk editing, maka tutorial selengkapnya bisa diunduh melalui alamat https://goo.gl/mWF9Wa