#! /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
# trunk/opendj3/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
# trunk/opendj3/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 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
else
# Other dist.
if [ -f /etc/init.d/functions.sh ]
then
. /etc/init.d/functions.sh
fi
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
# /var/run is deleted after reboot (eg. debian)
# recreates the symlink if needed.
test -h "$PIDFILE" || ln -s $ORIGINPIDFILE $PIDFILE
#Starts the server and creates pid file.
start() {
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() {
echo -n $"Stopping $DAEMON: "
# Server is running
if [ -e $PIDFILE ]
then
"$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() {
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)
stop
sleep 5
start
;;
force-reload)
# Not implemented.
;;
status)
status
;;
*)
echo $"Usage: /etc/init.d/$DAEMON {start|restart|stop|force-reload|status}"
exit 1
;;
esac
exit $RETVAL