Configuration du serveur XMPP ejabberd
Lors de son installation Movim va vous demander de spécifier un serveur XMPP par défaut sur lequel il créera les nouveaux comptes. Cette page vous explique comment déployer le serveur XMPP ejabberd (que nous utilisons en grande partie pour le développement du projet Movim).
Installation de ejabberd
Ejabberd se trouve dans la majorité des dépôts des grandes distributions Linux, sa mise en place passe donc par l'installation du paquet portant le même nom.
Sur Ubuntu - Debian par exemple
# aptitude install ejabberd
Le reste de la configuration se fera dans le fichier de configuration du serveur
# votre_editeur_prefere /etc/ejabberd/ejabberd.cfg
Configuration du serveur
Passons maintenant aux choses sérieuses :)
Création de comptes
Pour permettre la création de comptes sur le serveur XMPP depuis l'interface Movim il faut autoriser la manipulation sur le serveur. Recherchez puis éditez cette ligne
{access, register, [{allow, all}]}.
N'oubliez pas d'activer le module en question avec les bon droits un peu plus bas dans le fichier
{mod_register, [
{access, register}
]}
Pubsub
Le module Pubsub va vous permettre de gérer les fluxs que Movim affichera dans son interface, nous devons avant tout autoriser la création des noeuds Pubsub sur le serveur à tout le monde
{access, pubsub_createnode, [{allow, all}]}.
Puis nous allons activer le module et appliquer quelques droits sur celui-ci. Dans la configuration du module mod_pubsub entrez ce qui suit.
{access_createnode, pubsub_createnode},
{ignore_pep_from_offline, false},
{last_item_cache, false},
{max_items_node, 1000000},
{plugins, ["flat", "pep"]}]
Attention !!! Il semblerait que spécifier un host particulier pour Pubsub dans la configuration de ejabberd empêche Movim de créer proprement le flux d'actualité. Toute ligne ressemblant à la suivante est donc à commenter ou supprimer.
{host, "pubsub.movim.eu"},
BOSH
Le dernier module à configurer est BOSH. Celui-ci permet d'encapsuler les requêtes XMPP dans un paquet HTTP, en effet Movim interrogera les serveurs XMPP par ce biais (via la librairie Curl).
Nous allons tout d'abord activer le module BOSH dans la configuration
{5280, ejabberd_http, [
{request_handlers,
[
{["http-bind"], mod_http_bind}
]}
]}
Puis, comme pour les autres modules, nous allons l'activer dans la suite du fichier grâce à cette ligne
{mod_http_bind, []}
Puis relancez le serveur ejabberd et vérifiez qu'il ne vous renvoie aucune erreur. Vous pouvez aussi vérifier la bonne configuration de l'accès BOSH en vérifiant que la page http://mon_serveur:5280/http-bind est disponible.
Cette page s'inspire fortement du Wiki du projet Jappix, en particulier de ces deux pages http://codingteam.net/project/jappix/doc/XmppServer et http://codingteam.net/project/jappix/doc/BoshServer