Installation XMPP pour Jappix : eJabberd

Rédigé par salelodenouye Aucun commentaire
Classé dans : Des Internets, Linux Mots clés : aucun

Cet article est encore en cours de rédaction...il y a des petites choses à améliorer comme le serveur multicanal et le pubsub

Après avoir installé prosody sur mon PC, j'ai pas mal bataillé pour le faire fonctionner pleinement avec Jappix et des passerelles (en particulier Facebook, MSN voire GMail).

Malheureusement je n'ai pas réussi à faire fonctionner ces composants. Je viens de voir aussi que Pubsub n'est pas encore implémenté sur Prosody.

Bref, malgré les multiples avantages de ce serveur, je vais tenter ejabberd qui semble tout de même assez léger (comparé à OpenFire) et plus mature que Prosody.

Installation

Pour commencer...autant ne pas s'embêter

apt-get install ejabberd

Et hop ça fonctionne. L'installation occupe 20Mo (moins de 2Mo pour Prosody); ça reste très correcte.

Configuration

Après l'installation un petit tour sur le fichier de config

more /etc/ejabberd/ejabberd.cfg 

Bon déjà première surprise....le fichier de config est long....très long...j'espère que c'est parce qu'il y a beaucoup de commentaires laugh

Autant ne pas réinventer la roue...une petite recherche sur Google permet de trouver de bons conseils

Le site de ejabberd : http://www.ejabberd.im/

Un tuto pour installer ejabberd sous Ubuntu : http://blog-perso.onzeweb.info/2006/08/25/tutoriel-ejabberd-ubuntu/

Pour une config basique, modifier le fichier ejabberd.cfg selon les instructions du tuto.

Modifier les lignes ci-dessous :

{acl, admin, {user, “sam”}}.
{hosts, ["localhost"]}.
{language, “en”}.
{access, register, [{deny, all}]}.

Il faut mettre le nom de l'admin (juste le nom pas le domaine)

le domaine pour le host

Le langage qui vous conviendra

Pour l'enregistrement, on peut autorisier l'enregistrement sur le serveur ou non. Si on l'autorise n'importe qui pourra se connecter. Il faut donc mettre allow ou deny en fonction de ce que l'on souhaite

Une fois que tout ça est fait il faut redémarrer le serveur :

ejabberdctl restart

Pour créer un compte il faut entrer la commande suivante :

ejabberdctl register votreLogin votreDomaine votreMotDePasse

 

Pour activer bosh et permettre à Jappix de communiquer avec le serveur, il faut configurer la partie bosh du server (en principe juste préciser le domaine):

 

et activer le module mod_http_bind dans la section module. Normalement dans la section module (attention, c'est un gros bloc entre accolades avec d'autres blocs avec des accolades et des crochets dedans ^^) :

  {mod_http_bind,   []}

Le cas échéant, ne pas oublier de mettre une virgule à la fin.

Normalement la connection à jappix devrait être possible.

Service pubsub

Par défaut l'annuaire semble activé et fonctionner correctement (j'ai juste fais le test de me retrouver). Par contre le pubsub bien que fonctionnel ne stocke pas vos messages. De même vous ne pouvez pas commenter les statuts.

Il faut corriger ce problème :

On a des indications sur cette page :

https://github.com/jappix/jappix/wiki/XmppServer

(attention le service bosh ne semble pas activé sur leur fichier de config. Du coup je ne l'ai pas utilisé)

Par contre on a une section "pubsub module" dans le tuto.

On va appliquer ce qu'elle dit :

Normalement la première partie devrait être OK :

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

En revanche cette partie est à ajouter au fichier de config dans la section du module "mod_pubsub" :

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

Pour ma part je n'avais pas grand chose à ajouter. Je me suis juste contenté d'ajouter cette ligne :

{max_items_node, 1000000}

 

Les passerelles

Maintenant que XMPP et Jappix peuvent se connecter, il faut paramétrer un peu plus le serveur XMPP.

Une des choses de pénible avec Jabber, c'est que à part les services fermés comme Google ou Facebook; peu de monde l'utilise de manière décentralisée.

Et encore pas mal de personnes sont sur MSN (enfin en ce qui me concerne).

Il faut donc que j'installe de quoi communiquer avec tout ce beau monde.

MSN

D'après ce que j'ai pu comprendre, la passerelle MSN fonctionne grace à un programme externe :

apt-get install pymsnt

pymsnt devrait s'installe correctement. Il faut ensuite s'assurer dans le fichier de config que le secret correspond bien au secret définit dans la config MSN de ejabberd !!

Il faut aussi configurer plusieurs autres choses dans le fichier :

<jid>msn.domaine.tld</jid>
[...]
<!-- The TCP port to connect to the Jabber server on (this is the default for Jabberd2) -->
<port>5557</port>
<!-- The authentication token to use when connecting to the Jabber server -->
<secret>secret</secret>

Alors en commencant par la fin..Par défaut le secret est bon..PAR CONTRE pour ejabberd, le port n'est pas le bon, il faut donc mettre le port 5557 (qui est le port par défaut pour le transport MSN sur ejabberd).

Enfin, le JID est par défaut à "msn" cette valeur n'est pas suffisante !!!!

Pour que votre transport fonctionne, il faut mettre le nom complet du domaine. Faut de quoi vous verrez votre transport dans Jabber qui vous indiquera que le service n'est pas disponible.

Utilisation de la passerelle.

Une fois que la passerelle est configurée, il reste le plus simple. Associer son compte Jabber à son compte MSN.

Pour se faire il faut dans Jappix (ou tout autre client XMPP) découvrir les services disponible.

Il faut s'inscrire au service MSN qui demandera le login et le mode passe du compte MSN.

Cela semble logique, mais je préfère le préciser. Vos identifiants et mot de passe seront en clair sur le serveur !! Il ne faut donc pas utiliser les passerelles de n'importe qui. Il est très facile d'aller récupérer les infos de connection ainsi que la liste des contacts.

Ces informations sont nécessaire car la passerelle doit bien se connecter avec vos identifiants au services MSN...c'est con mais c'est comme ça.

Comptes Jabber externes

Les commentaires sont fermés.