OpenLDAP 2.4 on CentOS 6.2 Part 2

Continuing from Part 1.

Once you install OpenLDAP, it is yours.
Now you need to configure /usr/local/etc/openldap/slapd.conf
Note that, I have only changed

suffix          "dc=kaustubhghanekar,dc=com"  
rootdn         "cn=Manager,dc=kaustubhghanekar,dc=com"
Here's my slapd.conf:

 #  
 # See slapd.conf(5) for details on configuration options.  
 # This file should NOT be world readable.  
 #  
 include          /usr/local/etc/openldap/schema/core.schema  
 # Define global ACLs to disable default read access.  
 # Do not enable referrals until AFTER you have a working directory  
 # service AND an understanding of referrals.  
 #referral     ldap://root.openldap.org  
 pidfile          /usr/local/var/run/slapd.pid  
 argsfile     /usr/local/var/run/slapd.args  
 # Load dynamic backend modules:  
 # modulepath     /usr/local/libexec/openldap  
 # moduleload     back_bdb.la  
 # moduleload     back_hdb.la  
 # moduleload     back_ldap.la  
 # Sample security restrictions  
 #     Require integrity protection (prevent hijacking)  
 #     Require 112-bit (3DES or better) encryption for updates  
 #     Require 63-bit encryption for simple bind  
 # security ssf=1 update_ssf=112 simple_bind=64  
 # Sample access control policy:  
 #     Root DSE: allow anyone to read it  
 #     Subschema (sub)entry DSE: allow anyone to read it  
 #     Other DSEs:  
 #          Allow self write access  
 #          Allow authenticated users read access  
 #          Allow anonymous users to authenticate  
 #     Directives needed to implement policy:  
 # access to dn.base="" by * read  
 # access to dn.base="cn=Subschema" by * read  
 # access to *  
 #     by self write  
 #     by users read  
 #     by anonymous auth  
 #  
 # if no access controls are present, the default policy  
 # allows anyone and everyone to read anything but restricts  
 # updates to rootdn. (e.g., "access to * by * read")  
 #  
 # rootdn can always read and write EVERYTHING!  
 #######################################################################  
 # BDB database definitions  
 #######################################################################  
 database     bdb  
 suffix          "dc=kaustubhghanekar,dc=com"  
 rootdn          "cn=Manager,dc=kaustubhghanekar,dc=com"  
 # Cleartext passwords, especially for the rootdn, should  
 # be avoid. See slappasswd(8) and slapd.conf(5) for details.  
 # Use of strong authentication encouraged.  
 rootpw          secret  
 # The database directory MUST exist prior to running slapd AND   
 # should only be accessible by the slapd and slap tools.  
 # Mode 700 recommended.  
 directory     /usr/local/var/openldap-data  
 # Indices to maintain  
 index     objectClass     eq  

Then start slapd.
Before starting it, make sure that environment variables work perfect.
To check this, run following:


 # ldd /usr/local/libexec/slapd  
     linux-vdso.so.1 => (0x00007fffe01ff000)  
     libdb-5.3.so => /usr/local/BerkeleyDB.5.3/lib/libdb-5.3.so (0x00007fe2f743e000)  
     libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003fd1400000)  
     libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003fd2c00000)  
     libc.so.6 => /lib64/libc.so.6 (0x0000003fd0c00000)  
     /lib64/ld-linux-x86-64.so.2 (0x0000003fd0800000)  


So now all the .so files are in place, we can start slapd.


 # /usr/local/libexec/slapd  

Verify all good status by running 'echo $?'


Sometimes when starting slapd after rebooting your server, may give error like this:


/usr/local/libexec/slapd: error while loading shared libraries: libdb-5.3.so: cannot open shared object file: No such file or directory


This is again problem with the environment variables. Make sure you have the variables CPPFLAGS, LDFLAGS, LD_LIBRARY_PATH are configured correctly as described in part1.


Now you can start populating server by adding objects.
For more on creating .ldif files and adding them using ldapadd, ldapmodify etc., look here.

Comments

Popular Posts