Sunday, 10 June 2018

Create OpenLDAP Global Addressbook on CentOS 7

Create OpenLDAP Global Addressbook on CentOS 7

Global Addressbook is a central database where users can search for email addresses, telephone numbers, addresses, etc. In this post, we will create a Global Addressbook with OpenLDAP 2.4 Server and access it through Mozilla Tunderbird.

We have already configured a LDAP Server. Therefore, I am skipping the steps of configuring a LDAP Server. However, if you missed it then please follow my previous post “Configure Remote Authentication Server using OpenLDAP 2.4”.


Table of Contents:

Create OpenLDAP Global Addressbook on CentOS 7

System Specification:

The Same Server that I used in my previous posts “Configure Remote Authentication Server using OpenLDAP 2.4” and “OpenLDAP Administration using phpLDAPAdmin”.


Create OpenLDAP Address Book on CentOS 7:

Checkout the current structure of our LDAP Directory via phpLDAPAdmin console i.e.


We must add the inetorgperson schema to our LDAP Directory, because we require its objectclasses for our Addressbook entries.

Note: Since I am working on a already configured LDAP Server, therefore I am not adding other core schemas. However, if you are configuring the LDAP Server from scratch, then you must add the cosine schema as well.

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/inetorgperson.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
adding new entry "cn=inetorgperson,cn=schema,cn=config"

Let’s create the organizationUnit and add some entries therein.

# cd ~/ldap
# cat > addressbook.ldif << EOF
> dn: ou=AddressBook,dc=itlab,dc=com
> objectClass: organizationalUnit
> ou: AddressBook
> dn: cn=Ahmer Mansoor,ou=AddressBook,dc=itlab,dc=com
> cn: Ahmer Mansoor
> gn: Ahmer
> sn: Mansoor
> mail:
> objectClass: top
> objectClass: inetOrgPerson
> dn: cn=Muhammad Ali,ou=AddressBook,dc=itlab,dc=com
> cn: Muhammad Ali
> gn: Muhammad
> sn: Ali
> mail:
> objectClass: top
> objectClass: inetOrgPerson
> dn: cn=Waseem Hussain,ou=AddressBook,dc=itlab,dc=com
> cn: Waseem Hussain
> gn: Waseem
> sn: Hussain
> mail:
> objectClass: top
> objectClass: inetOrgPerson
> dn: cn=Ashfaq Khan,ou=AddressBook,dc=itlab,dc=com
> cn: Ashfaq Khan
> gn: Ashfaq
> sn: Khan
> mail:
> objectClass: top
> objectClass: inetOrgPerson
# ldapadd -x -W -D "cn=ldapadm,dc=itlab,dc=com" -f addressbook.ldif
Enter LDAP Password:
adding new entry "ou=AddressBook,dc=itlab,dc=com" adding new entry "cn=Ahmer Mansoor,ou=AddressBook,dc=itlab,dc=com" adding new entry "cn=Muhammad Ali,ou=AddressBook,dc=itlab,dc=com" adding new entry "cn=Waseem Hussain,ou=AddressBook,dc=itlab,dc=com" adding new entry "cn=Ashfaq Khan,ou=AddressBook,dc=itlab,dc=com"

Now, take a look at our LDAP Directory.


We can add as much entries as we like in the same way. However, for the sake of demonstration, I am adding only 4 entries.


Configure Mozilla Thunderbird to use OpenLDAP Addressbook:

Now our Global Addressbook is configured successfully. Let’s use it in an email client. I am demonstrating it using Mozilla Thunderbird.


Because it is out of scope to configure an email account, therefore, I am skipping it. Click on Addressbook button at toolbar.


Go to File > New > LDAP Directory.


Add our LDAP Directory as follows:


Now, our Global Addressbook has been added in Thunderbird.


Our OpenLDAP Global Addressbook has been configured successfully.

If you find this article useful? Don't you mind support us by Buy Me A Coffee

No comments:

Post a Comment

© 2022 CentLinux. All Rights Reserved.