Openfire Configuration

From OLPC
Jump to: navigation, search
  This page is monitored by the OLPC team.

For now, we only use (and support) ejabberd as XMPP server. So if you want to deploy your own server you should probably look at 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 below refer to 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.

Installation

You'll need to install the Sun Java 1.5 rpm which can be downloaded from Sun first.

The easiest way to test Openfire is to download its tarball, extract it and simply run

 ./openfire/bin/openfire  start

Configuration

You have to connect to Openfire's web admin interface: http://<yourserver>:9090 and perform the few initial configurations steps. I tested using the Embedded Database as it's the faster way to deploy a server.

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.

Server -> Server settings -> Server to Server : change Service Enabled to Disabled

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.

Seems to work out of the box. Need more investigations / tests

Setting Up Shared Roster

Enable the plugin

First you have to enable the Registration plugin.

Plugins -> Plugins admin -> Available Plugins -> Registration hit the green Install button

Create the group

Let's create a group called "Everyone".

Users/Groups -> Groups -> Create New Group : set Everyone as Group Name and create the group

Now enable contact list group sharing using Everyone as group name.

Auto add accounts

We have now to configure Openfire to automatically add each new account to our group.

Go to Users/Groups -> Users -> Registration Properties.

Default Group : set "Everyone" and then hit Save Group

Registration Settings: enable Enable automatically adding of new users to a group and then hit Save Settings

Install Gadget

We have to allow the Gadget component to connect to the server.

Go to Server -> Server Settings -> External Components

Check Enabled, set 5560 as port and type your secret (be sure to use the same as in gadget.config

Current issues

Alias droped

With this configuration, openfire automatically set the first part of buddies's jid as nickname when adding new accounts to roster. So Gabble drop PEP nick notifications as roster nicknames are prioritary.

 DEBUG: gabble_conn_aliasing_nickname_updated: ignoring boring alias change for handle 2, signal from 5 but source 6 has alias "5941439492d21d61724489d7aea18431094273f2"

Help requested on Openfire support forum