diff options
Diffstat (limited to 'ejabberd.init.template')
-rw-r--r-- | ejabberd.init.template | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/ejabberd.init.template b/ejabberd.init.template new file mode 100644 index 000000000..ef691e4b3 --- /dev/null +++ b/ejabberd.init.template @@ -0,0 +1,63 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: ejabberd +# Required-Start: $remote_fs $network $named $time +# Required-Stop: $remote_fs $network $named $time +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Starts ejabberd jabber server +# Description: Starts ejabberd jabber server, an XMPP +# compliant server written in Erlang. +### END INIT INFO + +# chkconfig: 2345 90 10 +# description: ejabberd XMPP server + +set -o errexit + +DIR=@ctlscriptpath@ +CTL="$DIR"/ejabberdctl +USER=@installuser@ + +test -x "$CTL" || { + echo "ERROR: ejabberd not found: $DIR" + exit 1 +} +grep ^"$USER": /etc/passwd >/dev/null || { + echo "ERROR: System user not found: $USER" + exit 2 +} + +export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" + +case "$1" in + start) + test -x "$CTL" || exit 0 + echo "Starting ejabberd..." + su - $USER -c "$CTL start" + su - $USER -c "$CTL started" + echo "done." + ;; + stop) + test -x "$CTL" || exit 0 + echo "Stopping ejabberd..." + su - $USER -c "$CTL stop" + su - $USER -c "$CTL stopped" + echo "done." + ;; + status) + test -x "$CTL" || exit 0 + echo "Getting ejabberd status..." + su - $USER -c "$CTL status" + ;; + force-reload|restart) + "$0" stop + "$0" start + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload|status}" + exit 1 +esac + +exit 0 |