Simple Start Scripts

These are very simple start scripts for Openfire. They match the Linux Installation Guide but you may need to adjust some settings according to your needs.

Installation script install.sh

## adjust these variables to your need
export MY_USER=jiveWF
export RCD_PATH=/etc/rc.d
export INITD_PATH=/etc/rc.d/init.d ## create user jiveWF (or simply jive), options: create a lv (logical volume)
adduser ${MY_USER}
passwd ${MY_USER} ## make sure that only ${MY_USER}  can access /home/jiveWF/WF/conf/*.xml and /home/jiveWF/WF/embedded-db/*
chmod 700 /home/${MY_USER} ## uninstall old rc scripts
rm -f ${INITD_PATH}/openfired ${INITD_PATH}/wildfired
for i in 0 1 2 3 4 5 6
do
cd ${RCD_PATH}/rc${i}.d && rm -f ???wildfired
cd ${RCD_PATH}/rc${i}.d && rm -f ???openfired
done ## install new rc scripts
## adjust S20openfired and K80openfired to your needs. if you run another database
## and want to use it with Wildfire then make sure that the database is started
## before Openfire and shutdown after it.
## With S20 Openfire is started very early, it's fine for the embedded database.
for i in 0 1 6
do
cd ${RCD_PATH}/rc${i}.d && ln -s ${INITD_PATH}/openfired K80openfired
done
for i in 2 3 4 5
do
cd ${RCD_PATH}/rc${i}.d && ln -s ${INITD_PATH}/openfired S20openfired
done

/etc/rc.d/init.d/openfired

#!/bin/bash COMMAND=$0
OPTION=$1
SCRIPTNAME=$(basename ${COMMAND}) RETVAL=0
/usr/sbin/setenforce 0
su - jiveWF -c "/home/jiveWF/OF/bin/openfire ${OPTION}"
/usr/sbin/setenforce 1
RETVAL=$?
case ${OPTION} in
  start)
    touch /var/lock/subsys/${SCRIPTNAME}
    echo $RETVAL >/var/lock/subsys/${SCRIPTNAME}
    ;;
  stop|kill)
    rm -f /var/lock/subsys/${SCRIPTNAME}
    ;;
esac
exit

/home/jiveWF/OF/bin/openfired

#!/bin/bash COMMAND=$0
OPTION=$1
SCRIPTNAME=$(basename ${COMMAND})
DIRNAME=$(dirname ${COMMAND})
BASE_DIR=$(cd $DIRNAME/.. && pwd)
GREP_OPTS="-DProgram=${SCRIPTNAME}" JVM_FILE=${COMMAND}.jvm
JVM_OPTFILE=${COMMAND}.vmoptions if [ -f ${JVM_FILE} ]
then
  JVM=$(cat ${JVM_FILE})
else
  echo "Error: Create ${JVM_FILE}" 1>&2
  exit 1
fi if [ -f ${JVM_OPTFILE} ]
then
  JAVA_OPTS=$(cat ${JVM_OPTFILE}|tr '\n' ' ')
else
  echo "Error: Create ${JVM_OPTFILE}." 1>&2
  exit 1
fi JAVA_OPTS="${GREP_OPTS} ${JAVA_OPTS}"
PID=`ps -fu ${USER}|grep -v "grep"|grep -e "${GREP_OPTS} "|tr '\t' ' '|tr -s ' '|cut -d' ' -f2` cd ${BASE_DIR}/bin case "${OPTION}" in
  start)
    echo "Starting ${SCRIPTNAME}"
    if [ ${PID} ]
    then
      echo "cannot start ${SCRIPTNAME}: ${SCRIPTNAME} is already running"
      exit 1
    else
      nohup ${JVM} ${JAVA_OPTS} -server -jar ../lib/startup.jar >../logs/SDTOUT.log 2>../logs/SDTERR.log &
    fi
    ;;
  status)
    if [ ${PID} ]
    then
      echo "${SCRIPTNAME} (pid ${PID}) is running..."
    else
      echo "${SCRIPTNAME} is stopped"
      exit 3
    fi
    ;;
  stop)
    echo "Shutting down ${SCRIPTNAME}"
    if [ ${PID} ]
    then
      kill -15 ${PID}
    else
      echo "${SCRIPTNAME} is not running"
    fi
    ;;
  kill)
    echo "Killing $SCRIPTNAME}"
    if [ ${PID} ]
    then
      kill -9 ${PID}
    else
      echo "${SCRIPTNAME} is not running"
    fi
    ;;
  *)
    echo "Usage: ${SCRIPTNAME} {start|stop|status|kill}"
    exit 1
    ;;
esac

/home/jiveWF/OF/bin/openfired.jvm

The content of this file should point to the Java version you want to use.

/opt/java/Openfire/bin/java

/home/jiveWF/OF/bin/openfired.vmoptions

Put in this file all the parameters you want to use.

-Xms64m
-Xmx128m
-Xss128k
-XX:ThreadStackSize=128
-XX:PermSize=32m
-XX:MaxPermSize=64m
-XX:+PrintGCDetails
-Xloggc:/home/jiveWF/WF/logs/gc.log
-Djava.net.preferIPv4Stack=true
-server