If you want to start TracD with home at
/home/trac/repo1
change the name of the script to /etc/init.d/tracd-repo1
#!/bin/bash
#
# tracd - brings up the trac daemon
#
PROJECT=`echo $0 | awk -F- '{ print $2; }'`
# Get LSB functions
. /lib/lsb/init-functions
. /etc/default/rcS
. /etc/default/tracd-${PROJECT}
# Check that the package is still installed
[ -x $TRACD ] || exit 0;
[ -d $TRAC_ENV ] || exit 0;
case $1 in
start)
log_begin_msg "Starting tracd..."
#umask 002
if start-stop-daemon --start --pidfile=$TRAC_PID --chuid $TRAC_USER:$TRAC_GROUP \
--chdir $TRAC_HOME --umask 002 \
--exec $TRACD -- --daemonize \
--pidfile=$TRAC_PID \
-p $TRACD_PORT \
-a ${TRAC_INITENV},${TRAC_ENV}/conf/users.htdigest,${PROJECT_REALM} \
${TRAC_PROJECT}
then
log_end_msg 0
else
log_end_msg $?
fi
;;
stop)
log_begin_msg "Stopping tracd..."
#if `ps ax | grep [/]usr/bin/tracd | awk '{ print $1; }' | \
xargs kill 2 > /dev/null`
if start-stop-daemon --stop --pidfile=$TRAC_PID
then
log_end_msg 0
else
log_end_msg $?
fi
;;
restart|force-reload)
$0 stop && $0 start
;;
*)
echo "Usage: /etc/init.d/tracd {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
All variables are stored in
/etc/default/tracd-${PROJECT}
. Below is an example of the file (/etc/default/tracd-docs
):
TRACD=/usr/bin/tracd
TRACD_HOST=127.0.0.1
TRACD_PORT=8000
TRAC_USER=trac
TRAC_GROUP=users
TRAC_INITENV=docs
TRAC_PROJECT=docs
PROJECT_REALM=Docs
TRAC_HOME=/home/$TRAC_USER
TRAC_ENV=${TRAC_HOME}/$TRAC_INITENV
TRAC_PID=${TRAC_ENV}/tracd.pid
No comments:
Post a Comment