ejabberd XMPP server set up

During set up, Movim will ask you a default XMPP server on which it will create new accounts. This page explains how to deploy ejabberd XMPP server (broadly used for Movim development purposes).

ejabberd installation

You'll find ejabberd in most of mainstream Linux distributions repositories, thus you are able to install it by the package having the same name.

For instance on Ubuntu - Debian

# aptitude install ejabberd

The remaining configuration job will take place in the server configuration file

# your_favorite_text_editor /etc/ejabberd/ejabberd.cfg

server set up

Let's dig into serious business now :)

Account creation

In order to enable account creation in the XMPP server from Movim interface, you have to allow this operation on the server. Find and then edit this line

{access, register, [{allow, all}]}.

Don't forget to enable this module with appropriate rights a few lines after in this file

{mod_register, [
  {access, register}
]}

Pubsub

Pubsub module will allow you to manage flows, that will be displayed on Movim interface, we must allow Pubsub node creation in this server for every user.

{access, pubsub_createnode, [{allow, all}]}.

Then we enable the module and apply some rights on it. In mod_pubsub configuration enter the following:

{access_createnode, pubsub_createnode},
{ignore_pep_from_offline, false},
{last_item_cache, false},
{max_items_node, 1000000},
{plugins, ["flat", "pep"]}]

BOSH

The last module that needs to be configured is BOSH. It allows to embed XMPP requests in an HTTP packet. Movim will actually poll XMPP servers this way (through Curl library)

We will first enable BOSH module in configuration

{5280, ejabberd_http, [
  {request_handlers,
    [
      {["http-bind"], mod_http_bind}
    ]}
]}

Then, like other modules, we will enable it in the few lines after, thanks to this line:

{mod_http_bind, []}

Start ejabberd server again and check it won't shoot any error. You can also check the BOSH access is properly configured by browsing the page http://my_server:5280/http-bind


This page is mainly taken from Jappix project wiki, two of its pages in particular: http://codingteam.net/project/jappix/doc/XmppServer and http://codingteam.net/project/jappix/doc/BoshServer


In Other Languages
Translations of this page: