26.5. Configure the /etc/rc.d/init.d/ldap script file

Configure your /etc/rc.d/init.d/ldap script file to start and stop LDAP Server. Create the ldap script file, touch /etc/rc.d/init.d/ldap and add:


               #!/bin/sh
               #
               # ldap	This shell script takes care of starting and stopping
               #	ldap servers (slapd and slurpd).
               #
               # chkconfig: - 70 40
               # description: LDAP stands for Lightweight Directory Access Protocol, used \
               #              for implementing the industry standard directory services.
               # processname: slapd
               # config: /etc/openldap/slapd.conf
               # pidfile: /var/run/slapd.pid

               # Source function library.
               . /etc/rc.d/init.d/functions

               # Source networking configuration.
               . /etc/sysconfig/network

               # Check that networking is up.
               [ ${NETWORKING} = "no" ] && exit 0

               [ -f /usr/sbin/slapd ] || exit 0
               [ -f /usr/sbin/slurpd ] || exit 0

               RETVAL=0

               # See how we were called.
               case "$1" in
               start)
               # Start daemons.
               echo -n "Starting ldap: "
               daemon slapd
               RETVAL=$?
               if [ $RETVAL -eq 0 ]; then
               if grep -q "^replogfile" /etc/openldap/slapd.conf; then
               daemon slurpd
               RETVAL=$?
               [ $RETVAL -eq 0 ] && pidof slurpd | cut -f 1 -d " " > /var/run/slurpd
               fi
               fi
               echo
               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ldap
               ;;
               stop)
               # Stop daemons.
               echo -n "Shutting down ldap: "
               killproc slapd
               RETVAL=$?
               if [ $RETVAL -eq 0 ]; then
               if grep -q "^replogfile" /etc/openldap/slapd.conf; then
               killproc slurpd
               RETVAL=$?
               fi
               fi
               echo
               if [ $RETVAL -eq 0 ]; then
               rm -f /var/lock/subsys/ldap
               rm -f /var/run/slapd.args
               fi
               ;;
               status)
               status slapd
               RETVAL=$?
               if [ $RETVAL -eq 0 ]; then
               if grep -q "^replogfile" /etc/openldap/slapd.conf; then
               status slurpd
               RETVAL=$?
               fi
               fi
               ;;
               restart)
               $0 stop
               $0 start
               RETVAL=$?
               ;;
               reload)
               killproc -HUP slapd
               RETVAL=$?
               if [ $RETVAL -eq 0 ]; then
               if grep -q "^replogfile" /etc/openldap/slapd.conf; then
               killproc -HUP slurpd
               RETVAL=$?
               fi
               fi
               ;;
               *)
               echo "Usage: $0 start|stop|restart|status}"
               exit 1
               esac

               exit $RETVAL
             

Now, make this script executable and change its default permissions:

                 [root@deep] /# chmod 700  /etc/rc.d/init.d/ldap
               

Create the symbolic rc.d links for OpenLDAP with the command:

                 [root@deep] /# chkconfig --add ldap
               

The OpenLDAP script will not automatically start the slapd daemon when you reboot the server. You can change its defaults by executing the following command:

                 [root@deep] /# chkconfig --level 345 ldap on
               

Start your OpenLDAP Server manually with the following command:

               [root@deep] /# /etc/rc.d/init.d/ldap start
             

               Starting ldap:                                             [  OK  ]