Serveur Jabber : prosody

Message 1, par Elzen

§ Posté le 31/12/2012 à 19h 10m 10

J'utilise XMPP pour la messagerie instantannée depuis à peu près aussi longtemps que j'ai mon serveur perso. Le réseau Jabber(1) présente plusieurs caractéristiques intéressantes, notamment celui d'être distribué : chacun peut monter son propre serveur, et les différents serveurs(2) communiquent entre eux.


L'un des trucs cools, avec la messagerie instantannée, c'est que (contrairement, par exemple, aux mails ou au site web), le serveur n'a pas besoin d'être allumé en permanence : vous en avez besoin quand vous êtes là, et le reste du temps, ça ne sert pas à grand chose qu'il tourne(3).

Ce qui fait que, même si vous n'avez pas votre propre serveur multifonction allumé en permanence, vous pouvez au moins installer un serveur XMPP sur votre machine habituelle. Comme pour les mails, ça permet aux messages qu'on vous envoie d'arriver directement chez vous, plutôt que d'être stockés ailleurs. C'est déjà une première étape d'auto-hébergement.


J'ai donc choisi prosody, suite à plusieurs recommandations, après avoir installé ejabberd sur mon ancienne machine. L'installation de l'un comme de l'autre ne semble pas particulièrement complexe ; pour obtenir de l'aide, je vous renvoie aux pages dédiées sur jabberfr.org (ici pour prosody, et pour ejabberd).

En revanche, la migration de l'un vers l'autre a été un poil plus complexe, d'où le présent article, pour le cas où ça servirait à quelqu'un.


La première chose à faire a été de récupérer un « dump » (une copie de sauvegarde) des infos utilisées par ejabberd. Ça se fait avec la commande « ejabberdctl dump /tmp/ejabberd-dump ».

Vous pouvez spécifier un autre nom de fichier, bien sûr, mais il faut que l'utilisateur « ejabberd » ait le droit d'écrire dedans, donc un fichier non-encore existant dans /tmp me semble être la meilleure solution.


Une fois ce fichier créé (et transferé sur la nouvelle machine, si, comme moi, vous changez de machine en même temps), il reste à transférer la conf' à prosody. Dans le paquet Debian, une commande « ejabberd2prosody » est fournie, mais elle ne semble pas fonctionner.

Pour pouvoir la lancer correctement, j'ai récupéré, par git, les sources de prosody sur le dépôt github, et je me suis rendu dans le répertoire tools/ ainsi obtenu. En lançant le script adéquat depuis ce répertoire, ça m'a bien convertis ce qu'il fallait.

Ça m'a donc généré, dans le répertoire où je me trouvais (donc, le tools/ des sources) un fichier « prosody.cfg.lua », que j'ai pu placer dans /etc/prosody pour avoir la configuration de base, ainsi qu'un répertoire « data » contenant les informations sur les différents noms de domaines reconnus (dans mon cas, il n'y en a qu'un).

J'ai transféré le contenu de ce répertoire dans /var/lib/prosody, sans oublier ensuite de changer (récursivement) le propriétaire pour que ça appartienne bien à l'utilisateur « prosody », et, après redémarrage, il semble que mon serveur fonctionnait.


(Suite au décès inopiné de mon précédent serveur, je profite de mettre en place une nouvelle machine pour essayer de refaire un outil de blog digne de ce nom. J'en profiterai d'ailleurs aussi pour repasser un peu sur certains articles, qui commencent à être particulièrement datés. En attendant, le système de commentaires de ce blog n'est plus fonctionnel, et a donc été désactivé. Désolé ! Vous pouvez néanmoins me contacter si besoin par mail (« mon login at ma machine, comme les gens normaux »), ou d'ailleurs par n'importe quel autre moyen. En espérant remettre les choses en place assez vite, tout plein de datalove sur vous !)