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.
ERROR 11874 ():
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