Installation XMPP pour Jappix : eJabberd

Rédigé par salelodenouye le 05 octobre 2012

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

Classé dans : Des InternetsLinux, - Mots clés : aucun -

apt-get powwaa !!!

Rédigé par salelodenouye le 03 octobre 2012

Décidément on en apprends tous les jours...cette fois-ci après avoir manqué de chibrer un container en faisant une mise à jour abusive, me voila obligé de vérifier les différences entre mon container et ma sauvegarde.
J'ai fais ma comparaison avec rdiff-backup, du coup je sais quels fichiers sont nouveau ou supprimés, les modifiés ne m'intéressent pas dans ce cas..

 

Retrouver le package à partir d'un fichier

Par contre une fois les fichiers modifiés repérés il faut supprimer le package associé. Pour ça il suffit il y a une commande :

dpkg -S /le/nom/du/fichier

 

Lister tous les packages installés

Après cette méthode bien que très utile et vraiment pratique ne m'est pas d'un grand secours. D'autant plus que je dispose du container /avant du coup je vais le faire tourner juste pour lancer une commande :

dpkg --get-selections

Cette commande renvoit la liste de TOUS les packages installés ! je n'ai plus qu'à faire un diff de mes 2 listes de packages :)
 

Classé dans : Linux, - Mots clés : apt-get debian linux -

Installation d'un serveur Bosh pour Jappix grâce à Prosody

Rédigé par salelodenouye le 30 septembre 2012

Je me suis amusé à installer un serveur XMPP chez moi ce WE...j'en ai trouvé un petit, léger et qui fait pas mal de chose : Prosody.

Prosody fonctionne vraiment bien et est très simple d'utilisation. Du coup pour continuer sur ma lancée, j'ai voulu installer Jappix.

Rien de compliqué à première vue car Jappix donne des tutoriels pour installer Jappix avec Prosody et le proxy Bosh configuré.

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

Sauf que j'ai buté sur un des aspects de Prosody...
Dans le fichier de configuration il y a des sections...ça parait bête comme ça, mais elles ne sont pas indiquées (si ce n'est par les commentaires).

J'ai donc passé une bonne partie de mon samedi à tourner en rond car je n'arrivais pas à faire marcher le proxy Bosh. J'obtenais l'erreur ci-dessous :

error: proxy: error reading status line from remote server

En effet j'utilisais un port spécifique. En réutilisant le port par défaut le lendemain, j'ai réussi à passer à une autre erreur (depuis Jappix cette fois-ci) :

Error » Encryption (SSL or TLS) is required to connect to this server

En déplacant les ligne de paramétrage au bon endroit le lendemain, ça marchait beaucoup mieux !!
Du coup j'ai gardé le port par défaut, mais je suppose qu'elle avait la même origine.

 

Installation d'une passerelle vers les autres protocoles

J'utilise un petit serveur avec un processeur atom chez moi. Pour essayer de cloisonner un max le serveur entre les services que je fais tourner h24 et le "mediacenter" j'utilise lxc. Cet outils me permet de créer des conteneur sans pour autant avoir à virtualiser complètement une nouvelle machine. C'est vraiment pratique et très simple à mettre en place.

Par contre je crois que je viens de rencontrer une des limite de LXC qui m'empêche d'installer libpurple (une usine à gaz permettant de faire fonctionner les passerelles sur Prosody)

Classé dans : Des InternetsLinux, - Mots clés : aucun -

Shaarli

Rédigé par salelodenouye le 29 septembre 2012

Il y a des outils que l'ont juge inadaptés (comme se fut le cas pour Dotclear), et il y a les autres. =)

Shaarli a été développé il y a quelques temps par sebsauvage c'est un outils très simple et bigrement efficace.

D'ailleurs je suis toujours scotché au flux RSS de sebsauvage. Et j'ai aussi installé shaarli chez moi pour gérer les liens et/ou des notes que je veux conserver.
Shaarli m'a déjà fais gagner un temps précieux à de nombreuse reprises :

  • Pour retrouver un article, un logiciel ou un tutoriel oublié
  • Pour retrouver une commande UNIX oubliée
  • etc

 

Classé dans : Des Internets, - Mots clés : sebsauvage shaarli rss -

Premier article

Rédigé par salelodenouye le 29 septembre 2012

Bon, j'ai abandonné le Dotclear pour utiliser quelque chose de plus simple.

Histoire de conserver ce que j'y avais noté, je me suis quand même gardé une sauvegarde ainsi qu'un autoblog qui doit contenir pas loin de tous les articles, car je n'étant pas un grand blogueur, je n'ai pas beaucoup posté.

Concernant le choix du blog, j'avoue que je m'y suis pris un peu vite. Puxml ma séduit car il est léger, sans base de données...et qu'il fait ce qu'il faut sans trop en faire.

Dans tous les cas, c'est bien plus rapide que Dotclear car on accède directement aux fichiers.

 

Concernant le contenu de ce site, je ne sais pas s'il sera bien rempli. Malheureusement je pense rarement à prendre des notes quand je développe ou test un noveau logiciel.

 

Mais les rares fois où j'y pense, j'essaierai tout de même de le mettre sur le blog. Ce sera toujours mieux que de laisser traîner sur un post-it et ça pourrait même dépanner quelqu'un :)

Bref, tout ça pour dire que pour l'instant il n'y a pas grand chose à voir pour l'instant mis à part les autoblogs

 

Bonne continuation chers lecteurs.

 

Classé dans : Divers, - Mots clés : PluXml -

Fil Rss des articles