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