New to openfire, need upgrade\migration help

i have inherited an Openfire server that is fairly old. its an MS Server 2003 R2 server running OF version 3.8.2. Since OF is the only thing running on this old server we are trying to replace the server with a dedicated PC running Windows 11. i see the new version is 4.9.2 . My first question is can i upgrade to 4.9.2 from 3.8.2? if so, is there any special documentation i should be looking at? I would like to install a clean version of 4.9.2 on the new Server and import the data, if possible so i have a fallback if the migration does not work. Thoughts? Thank you for your time.

Hi! Although that’s more than 12 years worth of upgrades, it should ‘just work’. I do recommend you not chancing it. The approach that you suggest makes sense.

I’d recommend that, based on a backup from the preexisting system, you create a clone of that server on which you test the upgrade. A simple file-system copy and database clone should get you quite far, with regards to creating a clone.

The upgrade process is essentially just running the new installer on top of the old installation. The upgrade process is documented on this page: Openfire: Upgrade Guide

Thank you, i was just setting up a clone VM to test on. Sounds good. thank you.

I was able to install 3.8.2 on our new server and migrate the config and data to the new server then run the upgrade to 4.7.3 all the data looks good, but i do get an error on the Domain, in 4.7.3 as i copied over all the config files the old server name is still listed, how can i change that to the new server name? the client is Spark 3.0.2. i was going to upgrade to the newest version of OpenFire 4.9.2 but not sure if i should fix the server name here first then do the upgrade to 4.9.2 thanks again for the help

The XMPP domain name and the hostname of the server that runs Openfire do not need to be the same (even though they often are). You can map between the two with DNS records (DNS SRV is typically used for this).

I don’t recommend changing the XMPP domain name of Openfire, as that’s part of the addressing of entities (like users) on the server. If the underlying name gets changed, then any persisted address will suddenly be incorrect.

i am getting this after the migration, i see all users but i am not sure what the XMPP Domain Name is: Soms is the PC name?

The source server SOMS and its IPaddress in DNS are the same. we disconnected the old server and renamed the new server to SOMS and we also gave the new server the same IP address as the old one so not sure why we have to do anything in or DC DNS it should all be the same. is the XMPP domain a new feature? I did try to add the XMPP records to the existing DNS server but not sure if it did it correctly, service = -xmpp-client
Protocol is; _tcp
Priority: 0
Weight: 5
port: 5222
Host offering the service: soms.sunset.local.
not sure where the 86400 IN goes?

thank you for your help.

The XMPP domain name isn’t new, but in (very) old versions of Openfire, there was less of a clear distinction between that and the ‘server name’.

The XMPP domain name defaults to the server’s hostname, which is probably why you’re seeing the value soms for a host that uses soms.sunset.local as its FQDN.

If the new server has the same FQDN and IP address, then things should be working as before. The fact that you’re seeing that alert is probably not new: it was likely already happening in your old server. Perhaps you can ignore.

The input fields for DNS SRV record configuration differ from tool to tool, so I can’t exactly say what’s wrong. You seem to be generally fine, but you probably need to:

  • replace -xmpp-client with xmpp-client
  • replace _tcp with tcp

Those - and _ separator characters will likely be added by your tool, when it composes the actual DNS record.

The value 86400 is a Time-To-Live TTL value. Perhaps your tool defaults it.

The value IN is a class value, which cannot be different than IN. For that reason, most tools don’t allow you to change it.

I did some digging on the old Openfire server, and it was not joined to the current domain but an old one that is no longer used. So the name is Soms.dental.local the new hardware is soms.sunset.local (sunset is the current domain name) so when I copy the configuration from the old openfire server to the new openfire server. Is there a configuration file on the new server I can edit to change the domain from “dental.” To “sunset.”?

To be clear. The new server has the same computer name and IP address as the old one. We just unplug the old server and plug in the new one the only difference I can see is the domain information.

Thanks again.

This is what it looks like on the Windows DNS server.

From an earlier screenshot, it seems that your XMPP domain is soms (not soms.sunset.local or soms.dental.local, which are only shown to be fully qualified domain names of the server). If the old server was also configured to use just soms as the XMPP domain name value, then there’s no need to change things in Openfire. The FQDN of the server is not important for XMPP-based data routing - it’s ‘only’ important for generic IP networking. You can look at the openfire.xml configuration file of the old server to find out what is in <domain> - that value is used for the XMPP domain name of Openfire.

well, sorry for being a pain, i looked at the old server’s openfire.xml and can’t seem to find that setting.

9090 9091 en org.jivesoftware.database.EmbeddedConnectionProvider true is it something i can add to the new server to help resolve this?

No worries. You’re a polite and well-behaved pain. Those are the best ones. :wink: Happy to help.

Have you tried to see if the new server is actually giving you any functional issues? Is there a functional issue that we’re trying to solve, or are you trying to get rid of the ‘warning’ icons on the admin panel (which may not indicate a functional problem)?

The old server appears to be used the embedded database. Is that correct? If so, and if you still have a copy of the original database, then you’ll be able to find the value for the xmpp domain in there.

Be sure to not execute the following on a running system, and do not change this file.

The embedded database persists data in a directory called embedded-db in Openfire’s installation directory. In it, you’ll find a file called openfire.script. That is a list of SQL commands that (re)construct the embedded database. You should be able to view that file in a text editor.

Somewhere in that file, the xmpp.domain property will be present. Look for a line like this:

INSERT INTO OFPROPERTY VALUES('xmpp.domain','example.org',0,NULL)

That will tell you the name of the XMPP domain value (in this snippet: example.org).