--- src/ejabberdctl.template 2008-05-20 14:22:03.000000000 +0400
+++ src/ejabberdctl.template 2008-06-22 19:41:03.000000000 +0400
@@ -9,12 +9,13 @@
# define default environment variables
NODE=ejabberd
-HOST=localhost
+HOST=`hostname -s`
ERLANG_NODE=$NODE@$HOST
-ROOTDIR=@rootdir@
+ROOTDIR=
+MAINDIR=
EJABBERD_CONFIG_PATH=$ROOTDIR/etc/ejabberd/ejabberd.cfg
LOGS_DIR=$ROOTDIR/var/log/ejabberd/
-EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/db/$NODE
+EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/spool
# read custom configuration
CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg
@@ -42,10 +43,10 @@
ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES"
# define additional environment variables
-EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin
-EJABBERD_MSGS_PATH=$ROOTDIR/var/lib/ejabberd/priv/msgs
-EJABBERD_SO_PATH=$ROOTDIR/var/lib/ejabberd/priv/lib
-EJABBERD_BIN_PATH=$ROOTDIR/var/lib/ejabberd/priv/bin
+EJABBERD_EBIN=$MAINDIR/ebin
+EJABBERD_MSGS_PATH=$MAINDIR/priv/msgs
+EJABBERD_SO_PATH=$MAINDIR/priv/lib
+EJABBERD_BIN_PATH=$MAINDIR/priv/bin
EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log
SASL_LOG_PATH=$LOGS_DIR/sasl.log
DATETIME=`date "+%Y%m%d-%H%M%S"`
@@ -139,11 +140,13 @@
# common control function
ctl ()
{
+ /sbin/runuser -s /bin/bash - ejabberd -c " \
erl \
$NAME ejabberdctl \
-noinput \
-pa $EJABBERD_EBIN \
- -s ejabberd_ctl -extra $ERLANG_NODE $@
+ -s ejabberd_ctl -extra $ERLANG_NODE $@ \
+ "
result=$?
case $result in
0) :;;