Operations 6 min read

Installing and Configuring OpenLDAP on Linux

This guide walks through installing OpenLDAP packages, loading schema files, configuring domain settings, enabling the memberof and refint modules, and installing phpLDAPadmin on a Linux server, providing all necessary commands and LDIF examples.

Practical DevOps Architecture
Practical DevOps Architecture
Practical DevOps Architecture
Installing and Configuring OpenLDAP on Linux
[root@slave1 bin]# yum -y install openldap openldap-clients openldap-servers
[root@slave1 bin]# chown -R ldap. /var/lib/ldap/DB_CONFIG
[root@slave1 bin]# systemctl start slapd
[root@slave1 bin]# systemctl enable slapd
[root@slave1 bin]# systemctl status slapd
[root@slave1 ~]# more pwdchange.ldif

dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}j5ipRNJU0Rej5xdw/SsnUZUjW/Jy3bQx

[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f pwdchange.ldif

2. Import basic schema files

[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/pmi.ldif
[root@slave1 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif

3. Configure domain settings [root@slave1 ~]# more domain.ldif 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=admin,dc=hahashen,dc=com" read by * none

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

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

dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}j5ipRNJU0Rej5xdw/SsnUZUjW/Jy3bQx

dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcAccess olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=hahashen,dc=com" write by anonymous auth by self write by * none

olcAccess: {1}to dn.base="" by * read

olcAccess: {2}to * by dn="cn=admin,dc=hahashen,dc=com" write by * read

# Execute command to modify configuration

[root@slave1 ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f domain.ldif

Enable memberof module

Add refint.ldif and refint2.ldif files [root@slave1 ~]# more refint1.ldif dn: cn=module{0},cn=config add: olcmoduleload olcmoduleload: refint [root@slave1 ~]# more refint2.ldif dn: olcOverlay=refint,olcDatabase={2}hdb,cn=config objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcRefintConfig objectClass: top olcOverlay: refint olcRefintAttribute: memberof uniqueMember manager owner

Add base.ldif configuration file and apply

4. Install phpLDAPadmin

yum install -y phpldapadmin
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

linuxAuthenticationServer ConfigurationLDAPOpenLDAPphpLDAPadmin
Practical DevOps Architecture
Written by

Practical DevOps Architecture

Hands‑on DevOps operations using Docker, K8s, Jenkins, and Ansible—empowering ops professionals to grow together through sharing, discussion, knowledge consolidation, and continuous improvement.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.