mirror of
git://slackware.nl/current.git
synced 2024-12-27 09:59:16 +01:00
70 lines
1.5 KiB
Text
70 lines
1.5 KiB
Text
|
#!/bin/sh
|
||
|
# Start/stop/restart the OpenLDAP server (slapd).
|
||
|
|
||
|
# Source default settings:
|
||
|
if [ -r /etc/default/slapd ]; then
|
||
|
. /etc/default/slapd
|
||
|
fi
|
||
|
|
||
|
# If needed, create run directory:
|
||
|
if [ ! -d /var/run/openldap ]; then
|
||
|
mkdir -p /var/run/openldap
|
||
|
chown ldap:ldap /var/run/openldap
|
||
|
fi
|
||
|
|
||
|
slapd_start() {
|
||
|
if [ -e /var/run/openldap/slapd.pid ]; then
|
||
|
echo "ERROR: Not starting OpenLDAP server because /var/run/openldap/slapd.pid exists."
|
||
|
elif [ -x /usr/sbin/slapd ]; then
|
||
|
echo "Starting OpenLDAP server: /usr/sbin/slapd -u ldap -h "$SLAPD_URLS" $SLAPD_OPTIONS"
|
||
|
/usr/sbin/slapd -u ldap -h "$SLAPD_URLS" $SLAPD_OPTIONS 1> /dev/null 2> /dev/null
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
slapd_stop() {
|
||
|
if [ -e /var/run/openldap/slapd.pid ]; then
|
||
|
echo "Stopping OpenLDAP server."
|
||
|
kill -INT $(cat /var/run/openldap/slapd.pid)
|
||
|
else
|
||
|
echo "ERROR: Not stopping OpenLDAP server because /var/run/openldap/slapd.pid does not exist."
|
||
|
fi
|
||
|
rm -f /var/run/openldap/slapd.pid
|
||
|
}
|
||
|
|
||
|
slapd_restart() {
|
||
|
slapd_stop
|
||
|
sleep 1
|
||
|
slapd_start
|
||
|
}
|
||
|
|
||
|
slapd_status() {
|
||
|
if [ -e /var/run/openldap/slapd.pid ]; then
|
||
|
if ps axc | grep slapd >/dev/null 2>&1; then
|
||
|
echo "OpenLDAP is running."
|
||
|
return 0
|
||
|
fi
|
||
|
echo "OpenLDAP PID file exists but the service is down."
|
||
|
return 1
|
||
|
else
|
||
|
echo "OpenLDAP is stopped."
|
||
|
return 0
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
case "$1" in
|
||
|
'start')
|
||
|
slapd_start
|
||
|
;;
|
||
|
'stop')
|
||
|
slapd_stop
|
||
|
;;
|
||
|
'restart')
|
||
|
slapd_restart
|
||
|
;;
|
||
|
'status')
|
||
|
slapd_status
|
||
|
;;
|
||
|
*)
|
||
|
echo "usage $0 start|stop|restart"
|
||
|
esac
|