#!/bin/sh NODE=ejabberd HOST=localhost # Define ejabberd environment ERL=erl here=`which "$0" 2>/dev/null || echo .` base="`dirname $here`/.." ROOTDIR=`(cd "$base"; echo $PWD)` SASL_LOG_PATH=$ROOTDIR/sasl.log EJABBERD_DB=$ROOTDIR/database/$NODE EJABBERD_EBIN=$ROOTDIR/src export EJABBERD_LOG_PATH=$ROOTDIR/ejabberd.log export EJABBERD_CONFIG_PATH=$ROOTDIR/ejabberd.cfg export EJABBERD_MSGS_PATH=$ROOTDIR/src/msgs export EJABBERD_SO_PATH=$ROOTDIR/src export EJABBERD_BIN_PATH=$ROOTDIR/src export ERL_MAX_PORTS=32000 [ -d $EJABBERD_DB ] || mkdir -p $EJABBERD_DB [ -f $EJABBERD_CONFIG_PATH ] || cp $ROOTDIR/src/ejabberd.cfg.example $EJABBERD_CONFIG_PATH start() { $ERL \ -noinput -detached \ -sname $NODE@$HOST \ -pa $EJABBERD_EBIN \ -mnesia dir "\"$EJABBERD_DB\"" \ -s ejabberd \ -ejabberd config \"$EJABBERD_CONFIG_PATH\" \ log_path \"$EJABBERD_LOG_PATH\" \ -sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\} } debug() { $ERL \ -sname debug$NODE@$HOST \ -pa $EJABBERD_EBIN \ -mnesia dir "\"$EJABBERD_DB\"" \ -hidden \ -remsh $NODE@$HOST } ctl() { $ERL \ -noinput \ -sname ejabberdctl@$HOST \ -pa $EJABBERD_EBIN \ -hidden \ -s ejabberd_ctl -extra $NODE@$HOST $@ } usage() { ctl exit } [ $# -lt 1 ] && usage case $1 in start) start;; debug) debug;; *) ctl $@;; esac