#! /bin/sh
|
#
|
# OPENDJ SERVICE SCRIPT
|
#
|
|
#
|
# CDDL HEADER START
|
#
|
# The contents of this file are subject to the terms of the
|
# Common Development and Distribution License, Version 1.0 only
|
# (the "License"). You may not use this file except in compliance
|
# with the License.
|
#
|
# You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
|
# or http://forgerock.org/license/CDDLv1.0.html.
|
# See the License for the specific language governing permissions
|
# and limitations under the License.
|
#
|
# When distributing Covered Code, include this CDDL HEADER in each
|
# file and include the License file at
|
# legal-notices/CDDLv1_0.txt. If applicable,
|
# add the following below this CDDL HEADER, with the fields enclosed
|
# by brackets "[]" replaced with your own identifying information:
|
# Portions Copyright [yyyy] [name of copyright owner]
|
#
|
# CDDL HEADER END
|
#
|
# Copyright 2013-2015 ForgeRock AS.
|
#
|
|
|
# chkconfig: 2345 80 05
|
# description: Starts and stops opendj LDAPv3 service.
|
#
|
### BEGIN INIT INFO
|
# Provides: opendj
|
# Required-Start:
|
# Required-Stop:
|
# Default-Start: 2 3 4 5
|
# Default-Stop: 0 1 6
|
# Short-Description: This is the opendj daemon
|
# Description: OpenDJ is an LDAPv3 compliant directory service, developed for the Java
|
# platform, providing a high performance, highly available and secure store
|
# for the identities managed by enterprises. Its easy installation process,
|
# combined with the power of the Java platform makes OpenDJ one of the
|
# simplest and fastest directory servers to deploy and manage.
|
### END INIT INFO
|
|
# Set up source function library depending on the distribution
|
if [ -f /etc/redhat-release ] ; then
|
# Redhat
|
. /etc/init.d/functions
|
elif [ -f /etc/SuSE-release ] ; then
|
# SuSE
|
. /etc/rc.status
|
elif [ -f /etc/lsb-release ] ; then
|
# Debian
|
. /lib/lsb/init-functions
|
elif [ -f /etc/init.d/functions.sh ] ; then
|
# Other dist.
|
. /etc/init.d/functions.sh
|
fi
|
|
|
# Sets the script vars
|
INSTALL_ROOT="/opt/opendj"
|
export INSTALL_ROOT
|
DAEMON=opendj
|
|
# Original PID file
|
ORIGINPIDFILE=/opt/opendj/logs/server.pid
|
|
# Pid file is a symlink to /opt/opendj/log/server.pid
|
PIDFILE=/var/run/opendj.pid
|
RETVAL=0
|
|
# If the daemon is not there, then exit / LSB return code.
|
test -x "$INSTALL_ROOT/bin/start-ds" || exit 5
|
|
# Recreates the symlink if needed (/var/run is deleted after reboot (eg. debian)).
|
test -h "$PIDFILE" || ln -s $ORIGINPIDFILE $PIDFILE
|
|
instance_configured() {
|
if [ -f $INSTALL_ROOT/config/buildinfo ] && [ "$(ls -A $INSTALL_ROOT/config/archived-configs)" ] ; then
|
return 1
|
fi
|
|
return 0
|
}
|
|
# Starts the server and creates pid file.
|
start() {
|
instance_configured
|
if [ $? = 0 ] ; then
|
echo "Instance is not configured. Please run $INSTALL_ROOT/setup"
|
return 1
|
fi
|
echo -n "Starting $DAEMON: "
|
# Server is running
|
if [ -e $PIDFILE ] ; then
|
echo "> Already running."
|
return 0
|
else
|
"$INSTALL_ROOT"/bin/start-ds --quiet
|
RETVAL=$?
|
if [ $RETVAL = 0 ] ; then
|
echo "> SUCCESS."
|
else
|
echo "> FAILURE."
|
fi
|
echo ""
|
return $RETVAL
|
fi
|
}
|
|
# Stops the server and removes pid file.
|
stop() {
|
instance_configured
|
if [ $? = 0 ] ; then
|
echo "Instance is not configured. Please run $INSTALL_ROOT/setup"
|
return 1
|
fi
|
|
echo -n "Stopping $DAEMON: "
|
if [ -e $PIDFILE ]
|
then
|
# Server is running
|
"$INSTALL_ROOT"/bin/stop-ds --quiet
|
RETVAL=$?
|
if [ $RETVAL = 0 ] ; then
|
echo "> SUCCESS."
|
else
|
echo "> FAILURE."
|
fi
|
echo ""
|
return $RETVAL
|
else
|
echo "> Already stopped."
|
echo ""
|
return 3
|
fi
|
}
|
|
# Displays the service status
|
status() {
|
instance_configured
|
if [ $? = 0 ] ; then
|
echo "Instance is not configured. Please run $INSTALL_ROOT/setup"
|
return 1
|
fi
|
|
echo -n $"$DAEMON status: "
|
if [ -e $PIDFILE ] ; then
|
echo "> Running."
|
return 0
|
else
|
echo "> Stopped."
|
return 3
|
fi
|
}
|
|
case "$1" in
|
start)
|
start
|
;;
|
stop)
|
stop
|
;;
|
restart)
|
instance_configured
|
if [ $? = 0 ] ; then
|
echo "Instance is not configured. Please run $INSTALL_ROOT/setup"
|
exit 1
|
else
|
stop
|
sleep 5
|
start
|
fi
|
;;
|
force-reload)
|
# Not implemented.
|
echo "Not implemented."
|
;;
|
status)
|
status
|
;;
|
*)
|
echo "Usage: /etc/init.d/$DAEMON {start|restart|stop|force-reload|status}"
|
exit 1
|
;;
|
esac
|
|
exit $RETVAL
|