OpenLDAP Installation and Configuration

In this guide, we will attempt to show you how to install and configure OpenLDAP ready for use as an authentication method for both Apache and PAM.

There are some pre-requisites that should be also considered and these are listed in the table below (Items 1 -3).

You should really read through this guide in it's entirety before proceeding to complete any of these steps below.

Required Software :

Install Order

Product

 

Version Used

 

Download URL

 

Description

1.

Libtool

 

1.5.22

 

http://www.gnu.org/software/libtool/libtool.html

 

Library tool extensions

2.

Berkeley DB

 

4.4.20

 

http://www.sleepycat.com/

 

Berkeley Database v4

3.

OpenSSL

 

0.9.8b

 

http://www.openssl.org

 

SSL Extensions

4.

OpenLDAP

 

2.3.24

 

http://www.openldap.org/software/download/

 

LDAP Server

N.B. First download and extract these packages. In this document we will use /home/downloads/ as our central location (you can use whatever you like)

Package Building

Each package needs a little configuration before building. We will guide you through each of these as we go on. Remember, when running 'make install', you must be root to run that command.

LibTool :

cd libtool-version       (Where version is the version that you downloaded)
./configure              (There is no need to specify anything here, unless you want to deviate from the defaults)
make  
make install             ('make install' will install all the files in '/usr/local/bin', '/usr/local/lib') 

Berkeley DB :

cd db-version/build_unix      (Where db-version is the version that you downloaded)
../dist/configure             (We run the build script from this location so that the script knows what platform we are on)
make                          (This can take 5 - 10 mins)
make install                  (This will install the files in the local default directory of /usr/local/BerkeleyDB.4.4)

OpenSSL :

cd openssl-version                       (Where OpenSSL-version is the version you downloaded)
./config --prefix=/usr/local/openssl/    (This tells the config script to install in the specified directory)
make
make test
make install                             (This will install the files in the directory specified in the ./config script)

OpenLDAP :

cd openldap-version                      (Where openldap-version is the version you downloaded)
./configure --enable-syslog --enable-slapd --enable-cleartext --enable-crypt --disable-sql --enable-ldap --with-tls
make depend
make
make test                                (This step can take as long as 1hr, depending on system performance.)
make install

Configuring Applications

Now you need to edit the slapd.conf file in /usr/local/etc/openldap/ making sure that the following entries are present.

include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/inetorgperson.schema

schemacheck     on

pidfile         /var/run/slapd/slapd.pid

argsfile        /var/run/slapd.args

loglevel        0

modulepath      /usr/local/lib
moduleload      back_bdb

backend         bdb
checkpoint 512 30

database        bdb

suffix          "dc=mydomain,dc=com"

directory       "/var/lib/ldap"

index           objectClass eq

lastmod         on

access to attrs=userPassword
        by dn="cn=admin,dc=mydomain,dc=com" write
        by anonymous auth
        by self write
        by * none

access to dn.base="" by * read

        by dn="cn=admin,dc=mydomain,dc=com" write
        by * read

You now have a very basic configuration for LDAP to work from. You obviously should set the paths to whatever you need, remembering to substitute the ones in this guide accordingly.