End In My Mind
Knowledge Warehouse
Install and Setup OpenLDAP on CentOS7
Categories: Explore Everything

Installation and Setup OpenLDAP on CentOS 7

Update the system

Seperti biasa, remote server menggunakan user biasa. Pada sesi ini, penulis menggunakan user apim untuk login server. Sebelum menginstal perangkat lunak baru, perbarui semua paket sistem Anda ke versi terbaru yang tersedia terlebih dahulu menggunakan command berikut:

sudo yum update

 

Install OpenLDAP

1.Kita akan mulai dengan menginstal paket yang diperlukan untuk fungsionalitas OpenLDAP menggunakan command berikut:

sudo yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel

2.Selanjutnya, lakukan start daemon LDAP dan aktifkan saat boot menggunakan command berikut:

sudo systemctl start slapd.service
sudo systemctl enable slapd.service
sudo systemctl status slapd.service


Konfigurasi Server LDAP

1.Sekarang buat pengguna administratif OpenLDAP dan berikan kata sandi untuk pengguna itu. Pada perintah di bawah ini, nilai hash dibuat untuk kata sandi yang diberikan, perhatikan, Anda akan menggunakan hash tersebut dalam file konfigurasi LDAP. Gunakan command berikut:

slappasswd


Jangan lupa copy {SSHA}PASSWORD_CREATED ke notepad karena akan digunakan pada konfigurasi selanjutnya.

2.Kemudian, menggunakan user root, lalu masuk ke direktori /etc/openldap/slapd.d, create sebuah file format LDIF yaitu ldaprootpasswd.ldif dimana digunakan untuk menambahkan sebuah entry ke direktori LDAP menggunakan editor.

sudo su
cd /etc/openldap/slapd.d
vi ldaprootpasswd.ldif

Tambahkan konten di bawah ini:

Konten Penjelasan
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD_CREATED
olcDatabase: indicates a specific database instance name and can be typically found inside /etc/openldap/slapd.d/cn=config.
cn=config: indicates global config options.
PASSWORD: is the hashed string obtained while creating the administrative user.

Contoh:

3. Selanjutnya, tambahkan entri LDAP yang sesuai dengan menentukan URI yang merujuk ke server ldap dan file di atas menggunakan command berikut:

ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif


Konfigurasi Database LDAP

1.Masih mengunakan user root, salin file konfigurasi database sampel untuk slapd ke direktori /var/lib/ldap, atur izin yang benar pada file tersebut dan restart openLDAP.

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap:ldap /var/lib/ldap/DB_CONFIG
systemctl restart slapd


2. Impor beberapa skema LDAP dasar dari direktori /etc/openldap/schema menggunakan command berikut:

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif


3.Sekarang tambahkan domain kalian di dalam database LDAP dan create sebuah file namanya ldapdomain.ldif untuk domain kalian.

vi ldapdomain.ldif

Tambahkan konten berikut:

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth” read by dn.base=”cn=Manager,dc=example,dc=com” read by * none

 

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com

 

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com

 

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}YOUR PASSWORD

 

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn=”cn=Manager,dc=example,dc=com” write by anonymous auth by self write by * none
olcAccess: {1}to dn.base=”” by * read
olcAccess: {2}to * by dn=”cn=Manager,dc=example,dc=com” write by * read


4.Kemudian tambahkan konfigurasi di atas ke database LDAP dengan perintah berikut

ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif


5. Pada langkah ini, kita perlu menambahkan beberapa entri ke direktori LDAP kita. Buat file lain bernama baseldapdomain.ldif dengan konten berikut.

Command Konten
vi baseldapdomain.ldif dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: example com
dc: example

dn: cn=Manager,dc=example,dc=com
objectClass: organizationalRole
cn: Manager
description: Directory Manager

dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=example,dc=com
objectClass: organizationalUnit
ou: Group


6. Simpan file dan kemudian tambahkan entri ke direktori LDAP

ldapadd -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif


7. Langkah selanjutnya adalah membuat pengguna LDAP misalnya, apim. Buat definisi untuk grup LDAP dalam file bernama ldapgroup.ldif dengan konten berikut.

Commmand Konten
vi ldapgroup.ldif dn: cn=Manager,ou=Group,dc=example,dc=com
objectClass: top
objectClass: posixGroup
gidNumber: 1000

 


gidNumber adalah GID di /etc/group untuk apim dan tambahkan ke direktori OpenLDAP.

ldapadd -x -W -D “cn=Manager,dc=example,dc=com” -f ldapgroup.ldif


8.Selanjutnya, buat file LDIF lain yang namanya ldapuser.ldif dan tambahkan definisi untuk pengguna apim.

Command Konten
vi ldapuser.ldif dn: uid=apim,ou=People,dc=example,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: apim
uid: apim
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/apim
userPassword: {SSHA}PASSWORD_HERE
loginShell: /bin/bash
gecos: apim
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0


9. Kemudian, load konfigurasi ke direktori LDAP.
ldapadd -x -D cn=Manager,dc=example,dc=com -W -f ldapuser.ldif

Cara Mengkonfigurasi Klien LDAP untuk Menghubungkan Otentikasi Eksternal

1. Pastikan port 389 untuk LDAP telah dibuka di firewall server. Untuk open port bisa menggunakan command firewall-cmd buat Virtual Machine (VM).

2. Penulis akan menggunakan software Apache Directory Studio sebagai LDAP Client. Jika belum punya, silakan download di sini.

3. Open Apache Directory Studio, pada menubar pilih LDAP lalu new connection.

4. Input Connection Name dan input hostname server/VM.

5. Jika ingin menggunakan user root, input cn=Manager,dc=example,dc=com. Jika ingin menggunakan user apim, input uid=apim,ou=People,dc=example,dc=com. Masukkan password lalu test connection. Jika sukses, maka muncul dialog authentication successful seperti gambar di bawah ini. Setelah itu, klik finish.

6. Berikut hasil setelah click finish.

Referensi

How to Install LDAP on CentOS 7

How To Install OpenLDAP Server for Centralized Authentication

Leave a Reply