Openfire Configuration
For now, we only use (and support) ejabberd as XMPP server. So if you want to deploy your own server you should probably see Ejabberd_Configuration. But at some point we'd like to see XO's working with as much Jabber server as possible. So this page describes how to use Openfire as an alternative. The explanations above refers about Openfire 3.4.1. You'll also need a patched version of telepathy-gabble fixing #5223 and #5224. These fixes are merged in current HEAD version of Gabble.
Important: As said, we only support Ejabberd as XMPP server so don't try this in a production environnement, really.
Configuration
MUC
The default MUC configuration is to assume that conference.yourserver is a valid hostname. This isn't actually important for the XOs, but it must exist from the perspective of the server. You could put it into /etc/hosts for example.
Disable S2S
Currently the XOs don't do a very good job with authorisation because they assume that only other XOs eg from the same school will be connected to the server, and "all see all" is an acceptable policy. For Internet-connected servers, it's best to disable "s2s" (server to server) connections to avoid people from outside connecting in and breaking this assumption.
Raising The Limits
Until a few constants are tweaks (see #5018), the XOs send larger than normal stanzas through the server, which triggers a maximum stanza size limit and can make the jabber server disconnect you eg when inserting an image into a shared document. To fix this, we raise the maximum stanza limit.
You must perform this step by logging in to ejabberd's web admin interface, or your XOs will never see any buddies.