Instal phpLDAPadmin di CentOS 8

Dalam panduan ini, kita akan mempelajari cara menginstal phpLDAPadmin di CentOS 8. phpLDAPadmin adalah aplikasi web yang ditulis dalam PHP untuk mengelola LDAP dan karenanya sangat berguna bagi administrator sistem yang gui centric. Dengan itu, Anda dapat mengelola LDAP melalui browser.

Sebelum Anda melanjutkan, pelajari cara menginstal OpenLDAP di CentOS 8 dengan mengikuti tautan di bawah ini;

Instal dan Siapkan OpenLDAP di CentOS 8

Instal phpLDAPadmin di CentOS 8

Instal PHP dan Modul yang Diperlukan

Jalankan perintah di bawah ini untuk menginstal PHP dan modul PHP lain yang diperlukan.

dnf install php php-cgi php-mbstring php-common php-pear php-{gd,json,zip} php-ldap

Instal phpLDAPadmin

phpLDAPadmin tidak tersedia di repositori CentOS 8 default. Selanjutnya, tidak mendukung PHP 7.2, yang diinstal ketika perintah di atas dijalankan.

php -v
PHP 7.2.11 (cli) (built: Oct 9 2018 15:09:36) ( NTS ) Copyright (c) 1997-2018 PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Namun, seseorang telah berusaha untuk memastikan bahwa phpLDAPadmin mendukung PHP 7.2. Ini tidak lain adalah breisig. Dalam panduan ini, kita akan mengkloning repositori github phpLDAPadmin breisig dan menginstalnya di CentOS 8.

dnf install git
git clone https://github.com/breisig/phpLDAPadmin.git /usr/share/phpldapadmin

Ini akan menginstal phpLDAPadmin di bawah /usr/share/phpldapadmin direktori.

Konfigurasi phpLDAPadmin di CentOS 8

Setelah menginstal phpLDAPadmin, lanjutkan untuk mengonfigurasinya agar terhubung ke server openLDAP Anda.

Untuk memulainya, ganti nama file konfigurasi sampel yang disediakan;

cp /usr/share/phpldapadmin/config/config.php{.example,}

Buka file konfigurasi, /usr/share/phpldapadmin/config/config.phpuntuk mengedit;

vim /usr/share/phpldapadmin/config/config.php

Gulir ke bawah file konfigurasi ke bagian tersebut;

/********************************************* * Define your LDAP servers in this section * *********************************************/

Tentukan nama yang sesuai untuk server LDAP Anda. Nama ini akan muncul di interface web phpLDAPadmin.

$servers->setValue('server','name','Kifarunix-demo LDAP master');

Tetapkan alamat OpenLDAP Anda, ini bisa berupa nama host yang dapat dipecahkan atau alamat IP.

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

Jika server OpenLDAP Anda mendengarkan pada port non default, tentukan port di bawah bagian. (Default digunakan di sini)

/* port your LDAP server listens on (no quotes). 389 is standard. */ // $servers->setValue('server','port',389);

Tentukan DN dasar OpenLDAP Anda.

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

Jika Anda ingin mendefinisikan DN pengikatan statis, atur di bawah bagian;

/* DN of the user for phpLDAPadmin to bind with. For anonymous binds or 'cookie','session' or 'sasl' auth_types, LEAVE THE LOGIN_DN AND LOGIN_PASS BLANK. If you specify a login_attr in conjunction with a cookie or session auth_type, then you can also specify the bind_id/bind_pass here for searching the directory for users (ie, if your LDAP server does not allow anonymous binds. */ // $servers->setValue('login','bind_id',''); # $servers->setValue('login','bind_id','cn=Manager,dc=example,dc=com'); /* Your LDAP password. If you specified an empty bind_id above, this MUST also be blank. */ // $servers->setValue('login','bind_pass',''); # $servers->setValue('login','bind_pass','secret'); 

Dalam panduan ini, kami telah memilih untuk tidak mendefinisikan DN pengikatan statis. Baca bagian yang disorot di atas.

Anda juga dapat menentukan atribut login.

$servers->setValue('login','attr','dn');

Ini akan membutuhkan DN lengkap untuk masuk.

Itu hanyalah beberapa konfigurasi phpLDAPadmin yang dibuat dalam panduan ini. Pastikan untuk membuat konfigurasi yang sesuai dengan kebutuhan Anda.

Simpan dan keluar dari file konfigurasi dan atur kepemilikan yang tepat seperti yang ditunjukkan di bawah ini;

chown -R apache:apache /usr/share/phpldapadmin

Buat Apache untuk phpLDAPadmin

Selanjutnya, Anda perlu membuat konfigurasi web untuk phpLDAPadmin untuk menentukan bagaimana itu akan diakses dari browser.

vim /etc/httpd/conf.d/phpldapadmin.conf
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs <Directory /usr/share/phpldapadmin/htdocs> <IfModule mod_authz_core.c> Require all granted </IfModule> </Directory>

Simpan dan keluar dari file konfigurasi. Dengan konfigurasi ini, Anda harus mengakses phpLDAPadmin di browser menggunakan URL,http://ldap-server-hostname-OR-IP/phpldapadmin.

Di sisi lain, Anda dapat membuat Apache VirtualHost untuk phpLDAPadmin seperti yang ditunjukkan di bawah ini. Pastikan untuk melakukan penggantian yang sesuai dalam konfigurasi.

vim /etc/httpd/conf.d/phpldapadmin.conf
<VirtualHost *:80> ServerName ldapmaster.kifarunix-demo.com DocumentRoot /usr/share/phpldapadmin/htdocs <Directory /usr/share/phpldapadmin/htdocs> <IfModule mod_authz_core.c> # Apache 2.4 Require all granted </IfModule> </Directory> ErrorLog /var/log/httpd/ldapmaster.kifarunix-demo.com.error.log CustomLog /var/log/httpd/ldapmaster.kifarunix-demo.com.access.log combined </VirtualHost>

Dengan konfigurasi ini, Anda dapat mengakses phpLDAPadmin menggunakan URL, http://ldap-server-hostname-OR-IP.

Periksa apache untuk error sintaks.

httpd -t

Jika Anda mendapatkan output, Syntax OK, maka Anda siap melakukannya. Jika tidak, perbaiki error apa pun sebelum Anda dapat melanjutkan.

Konfigurasi FirewallD

Izinkan akses eksternal ke Apache di firewalld, jika sedang berjalan.

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

Konfigurasi SELinux

Jika SELinux sedang berjalan, jalankan perintah berikut untuk;

Izinkan httpd untuk terhubung ke jaringan.

setsebool -P httpd_can_network_connect 1

Izinkan httpd untuk terhubung ke server OpenLDAP.

setsebool -P httpd_can_connect_ldap 1

Selesaikan entri passwd user langsung dari ldap

setsebool -P authlogin_nsswitch_use_ldap 1

Untuk memungkinkan sistem berjalan dengan NIS.

setsebool -P nis_enabled 1

Menjalankan Apache

Mulai dan aktifkan Apache untuk berjalan pada boot sistem.

systemctl enable --now httpd

Mengakses phpLDAPadmin di CentOS 8

Anda sekarang dapat mengakses phpLDAPadmin dari browser apa pun menggunakan url. http://server-hostname-or-IP/phpldapadmin atau http://server-hostname-or-IP tergantung pada konfigurasi Anda.

Ini akan membawa Anda interface web phpLDAPadmin.

Klik logintepat di bawah nama server LDAP Anda untuk mendapatkan interface login. Untuk login, Anda dapat menentukan DN Anda misalnya, cn=admin,dc=ldapmaster,dc=kifarunix-demo,dc=com.

Setelah login berhasil, Anda seharusnya dapat melihat struktur LDAP Anda.

Jika dengan mengklik skema Anda mendapatkan error di bawah ini;

Our attempts to find your SCHEMA have failed (objectclasses)

Kemudian Anda perlu mengaktifkan akses baca anonim ke Subskema di database LDAP frontend untuk memperbaikinya.

Jika Anda mengikuti panduan kami untuk menginstal dan mengatur server OpenLDAP di CentOS 8 yang tautannya disediakan di atas, maka daftar kontrol akses kami saat ini di database frontend adalah;

ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcDatabase={-1}frontend)' olcAccess
dn: olcDatabase={-1}frontend,cn=config olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=externa l,cn=auth" manage by * none

Untuk mengizinkan siapa pun membaca skema LDAP, Anda hanya perlu menambahkan ACL di bawah ini ke database frontend sebagai ACL pertama.

to dn.base="cn=Subschema" by * read

Gunakan file LDIF untuk menerapkan perubahan ini.

vim read-access-to-subschema.ldif
dn: olcDatabase={-1}frontend,cn=config changetype: modify add: olcAccess olcAccess: {0}to dn.base="cn=Subschema" by * read

Perbarui basis data.

ldapadd -H ldapi:/// -Y EXTERNAL -f read-access-to-subschema.ldif

Buat daftar daftar kontrol akses lagi.

ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcDatabase={-1}frontend)' olcAccess
dn: olcDatabase={-1}frontend,cn=config olcAccess: {0}to dn.base="cn=Subschema" by * read olcAccess: {1}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=externa l,cn=auth" manage by * none

Mulai ulang LDAP dan Layanan Apache.

systemctl restart httpd slapd

Anda sekarang seharusnya dapat membaca skema OpenLDAP dan pohon direktori Anda serta mengelola server OpenLDAP dari web menggunakan phpLDAPadmin.

Itu menandai akhir dari panduan kami tentang cara menginstal phpLDAPadmin di CentOS 8.

Tutorial OpenLDAP terkait

Terapkan Kebijakan Kata Sandi OpenLDAP

Konfigurasikan Otentikasi OpenLDAP ownCloud

Cara Mengkonfigurasi SUDO melalui OpenLDAP Server

Konfigurasikan Otentikasi Berbasis Host OpenLDAP