43 lines
922 B
Bash
Executable File
43 lines
922 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
NAME="OPENLDAP"
|
|
SLAPD_CONFIG=${SLAPD_CONFIG:-"/etc/openldap/slapd.d/cn=config"}
|
|
|
|
function stop {
|
|
echo "Stopping ${NAME}"
|
|
kill $(cat /var/run/openldap/slapd.pid)
|
|
}
|
|
|
|
function mp() {
|
|
set +e
|
|
mountpoint -q $1
|
|
local mp=$?
|
|
set -e
|
|
return ${mp}
|
|
}
|
|
|
|
trap 'stop' SIGTERM
|
|
|
|
if [ -z "$@" ]; then
|
|
SLAPD_URLS="ldapi:/// ldap:/// ldaps:///"
|
|
SLAPD_OPTIONS="-d 256"
|
|
|
|
# If /etc/openldap is an external mount point
|
|
if mp ${SLAPD_CONFIG}; then
|
|
echo "* ${SLAPD_CONFIG} is mounted, checking for existing config"
|
|
|
|
if [ -f ${SLAPD_CONFIG}/olcDatabase=\{0\}config.ldif ]; then
|
|
echo "= ${SLAPD_CONFIG} existing configuration detected, aborting..."
|
|
else
|
|
echo "- ${SLAPD_CONFIG} populating default configuration"
|
|
cp -pr ${SLAPD_CONFIG}.orig/* ${SLAPD_CONFIG}
|
|
fi
|
|
fi
|
|
|
|
[ -x /usr/sbin/slapd ] && /usr/sbin/slapd -u ldap -h "${SLAPD_URLS}" $SLAPD_OPTIONS &
|
|
wait
|
|
else
|
|
exec $@
|
|
fi
|