I've been using Wildfire and decided it was time to upgrade to OpenFire.
Only OpenFire will absolutely not start. I installed from RPM. I've tried adjusting permissions, etc.. and it always fails with:
gourd-amber:/opt # /opt/openfire/bin/openfire.sh
Could not locate home
java.io.FileNotFoundException
at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:788)
at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:284)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:383)
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:148)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:93)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:49)
Critical Error! The home directory has not been configured,
which will prevent the application from working correctly.
java.io.FileNotFoundException: XML properties file does not exist: openfire.xml
at org.jivesoftware.util.XMLProperties.<init>(XMLProperties.java:99)
at org.jivesoftware.util.XMLProperties.<init>(XMLProperties.java:61)
at org.jivesoftware.util.JiveGlobals.loadSetupProperties(JiveGlobals.java:771)
at org.jivesoftware.util.JiveGlobals.getHomeDirectory(JiveGlobals.java:228)
at org.jivesoftware.util.Log.initLog(Log.java:78)
at org.jivesoftware.util.Log.<clinit>(Log.java:64)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:421)
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:148)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:93)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:49)
2007.08.18 14:18:11 Error occurred opening log file: LogName was null - OpenfireHome not set?
2007.08.18 14:18:11 org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:421)
java.io.FileNotFoundException
at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:788)
at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:284)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:383)
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:148)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:93)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:49)
Error starting the server. Please check the log files for more information.
It has the same error if I try to start with /etc/rc.d/openfire. I've tried running it as daemon and root and it makes no difference. I've tried setting openfireHome in the scripts.
gourd-amber:/opt # cat /etc/sysconfig/openfire
Set this to the path where openfire lives.
If this is not set the script will look for /usr/local/openfire, then
/opt/openfire.
OPENFIRE_HOME="/opt/openfire"
If there is a different user you would like to run openfire as,
change the following line.
OPENFIRE_USER="daemon"
#OPENFIRE_USER="root"
If you wish to change the location of the openfire pid file,
change the following line.
OPENFIRE_PIDFILE="/var/run/openfire.pid"
If you wish to explictly specific the location of the log directory,
you can set it here. Note that this applies to the logs generated outside
openfire itself. If you want to change the location of openfire's own
logs, see the system property 'log.directory'. If this is not set,
it will default to $OPENFIRE_HOME/logs.
OPENFIRE_LOGDIR="/var/log/openfire"
If you wish to override the auto-detected JAVA_HOME variable, uncomment
and change the following line.
#JAVA_HOME=/usr/java/default
gourd-amber:/opt # cat /etc/SuSE-release
SuSE Linux 9.3 (i586)
VERSION = 9.3