#!/bin/sh # # ogo Startup script for OpenGroupware on UNIX systems. # # chkconfig: 345 75 25 # description: OpenGroupware is a groupware server # processname: OpenGroupware # pidfile: /var/run/ogo.pid if [ -e /usr/lib/opengroupware.org/OpenGroupware.org.sh ]; then . /usr/lib/opengroupware.org/OpenGroupware.org.sh else gprintf "OpenGroupware.org is not installed correctly.\n" exit 0 fi OGO_DIR=/usr/lib/opengroupware.org OGO_BIN=$OGO_DIR/WOApps/OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware OGO_ARGS="-WOPort 20000 -WOHttpAllowHost 127.0.0.1 -OGoMinimumActiveSessionCount 0" PID_FILE=/var/run/ogo.pid LOG=/var/log/ogo.log # Find the name of the script prog="ogo" . /etc/rc.d/init.d/functions start(){ gprintf "Starting %s: " "$prog" pushd $OGO_DIR > /dev/null # log separator echo "----------------------------------------------------------------------" >> $LOG env -i su - ogo -s /bin/bash -c "exec $OGO_BIN $OGO_ARGS" >> $LOG 2>&1 & echo $! > $PID_FILE popd > /dev/null sleep 1 pid=`pidof $OGO_BIN` if [ $pid ]; then success "Starting %s: " "$prog" touch /var/lock/subsys/ogo else failure "Starting %s: " "$prog" rm -f /var/lock/subsys/ogo fi echo } stop(){ gprintf "Shutting down %s: " "$prog" if test -f "$PID_FILE" ; then PID=`cat $PID_FILE` if kill $PID >> $LOG 2>&1 ; then /bin/rm $PID_FILE rm -f /var/lock/subsys/ogo success "Shutting down %s: " "$prog" else echo "" gprintf "Could not kill process %s named in %s. Check tail of %s.\n" "$PID" "$PID_FILE" "$LOG" failure "Shutting down %s: " "$prog" fi else killproc ogo RETVAL=$? echo if [ $RETVAL -eq 0 ];then rm -f /var/lock/subsys/ogo /bin/rm $PID_FILE fi return $RETVAL fi echo } restart(){ stop start } condrestart(){ [ -e /var/lock/subsys/ogo ] && restart } install(){ service postgresql status || service postgresql start su - postgres -s /bin/bash -c ' createdb ogo createuser -A -D ogo ' su - ogo -s /bin/bash -c ' cd cd Database/PostgreSQL psql ogo ogo <<EOF \i pg-build-schema.psql \q EOF ' if [ -f /etc/httpd/conf.d/ogo.conf.dist ]; then ln -s ogo.conf.dist /etc/httpd/conf.d/ogo.conf fi service httpd reload } deinstall(){ service postgresql status || service postgresql start su - postgres -s /bin/bash -c ' dropdb ogo dropuser ogo ' rm -fr /var/spool/openoffice.org/*/* [ -L /etc/httpd/conf.d/ogo.conf ] && rm -f /etc/httpd/conf.d/ogo.conf } [ -x $OGO_BIN ] || exit 0 # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status ;; restart) restart ;; condrestart) condrestart ;; deinstall) deinstall ;; install) deinstall install ;; *) gprintf "Usage: %s {start|stop|status|restart|condrestart|install|deinstall}\n" "$0" exit 1 esac exit 0