freebsd-ports/www/caudium10/files/caudium.sh

139 lines
3.4 KiB
Bash
Raw Normal View History

#!/bin/sh
# init.d script for Caudium. Set the variables below to something fitting..
# This is only an example script.
#############
# The server directory where the 'start' script is located.
#
caudiumhome=@@PREFIX@@/caudium/server/
# Set this to something unique to be able to stop, reload and restart
# with this init script. It will override the setting in the config
# interface. '0' is typically replaced with the uid.
#
pidfile=/tmp/caudium_pid
# Set these to kill all processes owned by wwwuser on stop. Useful to
# reap CGI scripts.
#
# killallwww=yes
# wwwuser=www
umask 022
# If you want to start with another configuration directory:
#
# configdir=dirname
# Here you can add extra flags to the start script, like enabling or
# disabling threads.
#
# flags="--without-threads"
flags="--with-threads"
### Check if that caudium is configured...
if [ ! -f @@PREFIX@@/caudium/configurations/Global_Variables ]
then
echo "This server need some configuration...."
echo "Please login as caudium user and go to @@PREFIX@@/caudium/server"
echo "and type ./install to configure your server...."
exit 0
fi
### You should not _have_ to change anything below here...
test -n "$pidfile" && flags="$flags --pid-file=$pidfile"
test -n "$configdir" && flags="$flags --config-dir=$configdir"
case $1 in
'start')
echo "Starting Caudium from $caudiumhome..."
if [ -z "$pidfile" ]; then
echo "Warning: No pid file set - cannot stop or reload."
elif [ -f "$pidfile" ]; then
read pid < $pidfile
if kill -0 $pid ; then
echo "Caudium is already running."
exit 0
fi
rm -f $pidfile
if [ -f "$pidfile" ]; then
echo Cannot remove pid file $pidfile
exit 1
fi
fi
if [ -x "$caudiumhome/start" ]; then
cd $caudiumhome
./start $flags 2>/dev/null
echo "Done."
else
echo "I cannot find the Caudium dir '('$caudiumhome')'"
fi
;;
'reload')
if [ -z "$pidfile" ] ; then
echo "No pid file set."
exit 1
fi
echo "Reloading configurations..."
if [ -f $pidfile ] ; then
read pid < $pidfile
kill -HUP $pid || kill 1 $pid
exit 0
fi
echo "Caudium doesn't seem to be running."
;;
'restart')
if [ -z "$pidfile" ] ; then
echo "No pid file set."
exit 1
fi
echo Restarting Caudium...
if [ -f "$pidfile" ] ; then
read pid < $pidfile
kill -INT $pid || kill 2 $pid
rm "$pidfile"
echo Done.
exit 0
fi
echo "Caudium doesn't seem to be running."
echo Starting a new Caudium in $caudiumhome...
if [ -x "$caudiumhome/start" ]; then
cd $caudiumhome
./start $flags 2>/dev/null
else
echo "I cannot find the Caudium dir '('$caudiumhome')'"
fi
echo "Done."
;;
'stop')
if [ -z "$pidfile" ] ; then
echo "No pid file set."
exit 1
fi
echo "Stopping Caudium..."
if [ -f $pidfile ] ; then
if kill `cat $pidfile` ; then
echo Caudium stopped.
fi
rm $pidfile
else
echo "Caudium doesn't seem to be running."
fi
# Get all the CGI scripts... :-)
if [ x$killallwww = xyes ] ; then
echo Killing all programs running as the $wwwuser user.
su $wwwuser -c "kill -9 -1"
fi
;;
*)
echo "Syntax: $0 [start|stop|restart|reload]"
;;
esac
exit 0