Dalam tutorial ini, kita akan melihat cara menginstal dan Mengonfigurasi server OpenLDAP di Ubuntu 16.04 LTS. Kami juga akan menginstal phpLDAPadmin alat manajemen berbasis web.
Apa itu OpenLDAP
BukaLDAP adalah server direktori sumber terbuka dan cepat yang menyediakan klien jaringan dengan layanan direktori. Aplikasi klien terhubung ke server OpenLDAP menggunakan Lightweight Directory Access Protocol (LDAP) untuk mengakses informasi organisasi yang disimpan di server itu. Dengan akses yang sesuai, klien dapat mencari direktori, memodifikasi dan memanipulasi catatan dalam direktori. OpenLDAP efisien dalam membaca dan memodifikasi data dalam direktori.
Server OpenLDAP paling sering digunakan untuk menyediakan manajemen akun pengguna yang terpusat. Misalnya, Anda dapat membuat akun di OpenLDAP dan jika terhubung dengan server email, server FTP, server Samba, atau server lainnya, Anda dapat menggunakan akun tersebut untuk masuk ke server ini tanpa membuat akun baru untuk setiap server.
Cara Menginstal Server OpenLDAP di Ubuntu 16.04
Jalankan perintah berikut untuk menginstal server OpenLDAP dan utilitas baris perintah klien dari repositori paket Ubuntu 16.04. slapd
singkatan dari Stand-Alone LDAP Daemon .
sudo apt install slapd ldap-utils
Anda akan diminta untuk menyetel sandi untuk entri admin di direktori LDAP.
Setelah selesai, slapd akan otomatis dimulai. Anda dapat memeriksa statusnya dengan:
systemctl status slapd
Secara default, ini berjalan sebagai openldap
pengguna seperti yang didefinisikan dalam /etc/default/slapd
berkas.
Konfigurasi Dasar Pasca-Instalasi
Proses instalasi menginstal paket tanpa konfigurasi apapun. Agar server OpenLDAP kita berjalan dengan baik, kita perlu melakukan beberapa konfigurasi dasar pasca-instalasi. Jalankan perintah berikut untuk memulai wizard konfigurasi.
sudo dpkg-reconfigure slapd
Anda harus menjawab serangkaian pertanyaan. Jawab pertanyaan berikut ini:
Abaikan konfigurasi server LDAP:TIDAK .
Nama domain DNS:Masukkan nama domain Anda seperti linuxbabe.com
. Anda perlu menetapkan catatan A yang benar untuk nama domain Anda. Anda juga dapat menggunakan subdomain seperti directory.linuxbabe.com
. Informasi ini digunakan untuk membuat DN dasar (nama khusus) dari direktori LDAP.
Nama organisasi:Masukkan nama organisasi Anda seperti LinuxBabe.
Kata sandi administrator:Masukkan kata sandi yang sama yang disetel selama instalasi.
Latar belakang basis data:MDB .
BDB (Database Berkeley) lambat dan tidak praktis. Itu tidak digunakan lagi dan dukungan akan dihentikan di rilis OpenLDAP mendatang. HDB (Basis Data Hierarki) adalah varian dari backend BDB dan juga tidak akan digunakan lagi.
MDB membaca 5-20x lebih cepat dari BDB. Menulis 2-5x lebih cepat. Dan itu menghabiskan 1/4 RAM sebanyak BDB. Jadi kami memilih MDB sebagai backend database.
Apakah Anda ingin database dihapus saat slapd dibersihkan? Tidak .
Pindahkan basis data lama? Ya .
Izinkan protokol LDAPv2? Tidak . Versi LDAP terbaru adalah LDAP v.3, dikembangkan pada tahun 1997. LDAPv2 sudah usang.
Sekarang proses akan mengkonfigurasi ulang layanan OpenLDAP sesuai dengan jawaban Anda. Server OpenLDAP Anda sekarang siap digunakan.
Mengonfigurasi Klien LDAP
/etc/ldap/ldap.conf
adalah file konfigurasi untuk semua klien OpenLDAP. Buka file ini.
sudo nano /etc/ldap/ldap.conf
Kita perlu menentukan dua parameter:DN dasar dan URI dari server OpenLDAP kami. Salin dan tempel teks berikut di akhir file. Ganti your-domain
dan com
sebagaimana mestinya.
BASE dc=your-domain,dc=com URI ldap://localhost
Baris pertama mendefinisikan DN dasar. Ini memberitahu program klien di mana untuk memulai pencarian mereka di direktori. Jika Anda menggunakan subdomain saat mengkonfigurasi server OpenLDAP, maka Anda perlu menambahkan subdomain di sini seperti ini
BASE dc=subdomain,dc=your-domain,dc=com
Baris kedua mendefinisikan URI server OpenLDAP kami. Karena server dan klien LDAP berada di mesin yang sama, kita harus menyetel URI ke ldap://localhost
.
Menguji Server OpenLDAP
Setelah server OpenLDAP berjalan dan konfigurasi klien selesai, jalankan perintah berikut untuk membuat koneksi uji ke server.
ldapsearch -x
Keluaran:
# extended LDIF # # LDAPv3 # base <dc=linuxbabe,dc=com> (default) with scope subtree # filter: (objectclass=*) # requesting: ALL # # linuxbabe.com dn: dc=linuxbabe,dc=com objectClass: top objectClass: dcObject objectClass: organization o: LinuxBabe # admin, linuxbabe.com dn: cn=admin,dc=linuxbabe,dc=com objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator # search result search: 2 result: 0 Success # numResponses: 3 # numEntries: 2
Hasil:0 Berhasil menunjukkan bahwa server OpenLDAP berfungsi. Jika Anda mendapatkan baris berikut, maka itu tidak berfungsi.
result: 32 No such object
Menginstal phpLDAPadmin
phpLDAPadmin adalah program berbasis web untuk mengelola server OpenLDAP. Utilitas baris perintah dapat digunakan untuk mengelola server OpenLDAP kami, tetapi bagi mereka yang menginginkan antarmuka yang mudah digunakan, Anda dapat menginstal phpLDAPadmin.
Jalankan perintah berikut untuk menginstal phpLDAPadmin dari repositori paket Ubuntu.
sudo apt install phpldapadmin
Jika server Ubuntu Anda tidak menjalankan server web, maka perintah di atas akan menginstal server web Apache sebagai dependensi. Jika sudah ada web server seperti Nginx, maka Apache tidak akan terinstal.
Jika Anda menggunakan Apache
Instalasi akan menempatkan file konfigurasi phpldapadmin.conf
di bawah /etc/apache2/conf-enabled/
direktori. Setelah instalasi selesai, Anda dapat mengakses antarmuka web phpLDAPadmin di
your-server-ip/phpldapadmin
atau
your-domain.com/phpldapadmin
Untuk mengaktifkan HTTPS, Anda dapat memperoleh dan memasang sertifikat TLS gratis yang dikeluarkan dari Let's Encrypt.
Jika Anda menggunakan Nginx
Pengguna Nginx perlu membuat file blok server secara manual untuk phpLDAPadmin.
sudo nano /etc/nginx/conf.d/phpldapadmin.conf
Salin teks berikut dan tempel ke file. Ganti ldap.domain-anda.com dengan nama domain pilihan Anda.
server { listen 80; server_name ldap.your-domain.com; root /usr/share/phpldapadmin/htdocs; index index.php index.html index.htm; error_log /var/log/nginx/phpldapadmin.error; access_log /var/log/nginx/phpldapadmin.access; location ~ \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; } }
Simpan dan tutup file. Kemudian ketik konfigurasi Nginx.
sudo nginx -t
Jika pengujian berhasil, muat ulang Nginx agar perubahan diterapkan.
sudo systemctl reload nginx
Sekarang Anda dapat mengakses antarmuka web phpLDAPadmin di ldap.your-domain.com
. Untuk mengaktifkan HTTPS, Anda dapat memperoleh dan memasang sertifikat TLS gratis yang dikeluarkan dari Let's Encrypt.
Mengonfigurasi phpLDAPadmin
Kita perlu melakukan beberapa konfigurasi seperti yang kita lakukan dengan klien baris perintah. File konfigurasi phpLDAPadmin ada di /etc/phpldapadmin/config.php
.
sudo nano /etc/phpldapadmin/config.php
Karena OpenLDAP dan phpLDAPadmin berjalan pada mesin yang sama, maka kita akan mengonfigurasi phpLDAPadmin untuk terhubung ke localhost pada port LDAP default 389 tanpa enkripsi SSL/TLS.
Baris 293 menetapkan bahwa phpLDAPadmin akan terhubung ke localhost.
$servers->setValue('server','host','127.0.0.1');
Baris 296 dikomentari secara default, yang berarti port standar 389 akan digunakan.
// $servers->setValue('server','port',389);
Baris 335 dikomentari secara default, yang berarti enkripsi TLS tidak diaktifkan.
// $servers->setValue('server','tls',false);
Lalu pergi ke baris 300.
$servers->setValue('server','base',array('dc=example,dc=com'));
Ubah ke:
$servers->setValue('server','base',array());
Ini akan memungkinkan phpLDAPadmin secara otomatis mendeteksi DN dasar server OpenLDAP Anda. Selanjutnya, Anda dapat menonaktifkan login anonim. Pergi ke baris 453.
// $servers->setValue('login','anon_bind',true);
Secara default, login anonim diaktifkan. Untuk menonaktifkannya, Anda perlu menghapus karakter komentar (dua garis miring) dan mengubah true menjadi false.
$servers->setValue('login','anon_bind',false);
Anda mungkin ingin menonaktifkan peringatan template karena peringatan ini mengganggu dan tidak penting. Pergi ke baris 161.
// $config->custom->appearance['hide_template_warning'] = false;
Hapus karakter komentar dan ubah false menjadi true.
$config->custom->appearance['hide_template_warning'] = true;
Simpan dan tutup file.
Mengakses Antarmuka Web phpLDAPadmin
Kami sekarang dapat menguji alat phpLDAPadmin dengan browser web kami. Saat phpLDAPadmin pertama kali dimuat, tampilannya akan seperti ini.
Untuk masuk ke server OpenLDAP kami, klik tautan masuk. Anda akan melihat kotak dialog login. DN login default adalah cn=admin,dc=example,dc=com
. Anda mungkin perlu mengubah dc=example
. Dalam kasus saya, saya perlu mengubah DN login menjadi cn=admin,dc=linuxbabe,dc=com
.
Kata sandi adalah kata sandi admin yang Anda tetapkan selama konfigurasi server OpenLDAP. Setelah Anda masuk ke phpLDAPadmin, Anda dapat mengelola server direktori ini.
Itu dia! Saya harap tutorial ini membantu Anda menginstal dan mengonfigurasi keduanya server OpenLDAP dan phpLDAPadmin di Ubuntu 16.04. Dalam tutorial berikutnya, kita akan melihat cara mengkonfigurasi Ubuntu untuk mengautentikasi login pengguna dengan OpenLDAP.