Le Raspberry Pi devient un serveur XMPP/Jabber avec Ejabberd

Si vous avez envie de communiquer avec vos amis, votre famille ou créer un serveur pour une association ou une entreprise, une fois encore le Raspberry Pi va pouvoir vous aider. Vous allez pouvoir installer Ejabberd, un serveur XMPP/Jabber.

ejabberd_logoDans cet article, je vais recompiler Ejabberd pour avoir la dernière version.

  • Mettre à jour le système
    apt-get update && apt-get -y upgrade
  • Installer GIT
    apt-get install -y git
  • Télécharger les sources de Ejabberd
    git clone https://github.com/processone/ejabberd.git
    cd ejabberd
  • Installer les paquets nécessaires à la compilation d’Ejabberd
    apt-get install -y make make gcc libexpat1 libyaml-0-2 erlang libssl-dev zlib1g-dev imagemagick libexpat1-dev
  • Lancer la compilation
    ./configure
    make
  • Installer Ejabberd
    make install
  • Modifier le fichier de configuration /etc/ejabberd/ejabberd.cfg. Changer au moins la langue du serveur en remplaçant en par fr dans la ligne suivante :
    {language, "fr"}

    Changez aussi le nom de domaine de votre serveur. C’est ce que vous mettrez derrière le @ lors de vos inscriptions. Si vous mettez un domaine assurez vous qu’il soit bien accessible. Ici j’ai mis l’IP de mon serveur :

    %%{hosts, ["localhost"]}.
    {hosts, ["192.168.1.25"]}.

    Vous devez aussi définir les machines qui vont avoir le droit de demander des créations de comptes sur votre serveur. Dans mon exemple, j’autorise toutes les machines de mon réseau local et je bloque toutes les autres :

    {ip_access, [{allow, "192.168.1.0/8"},
     {deny, "0.0.0.0/0"}]},

    Les options sont vraiment nombreuses et le fichier est assez bien commenté. Donc faites des tests !

  • Par défaut, Ejabberd utilise sa propre base de données en interne. Si vous souhaitez une base de données tpe MySQL, PostgreSQL ou encore via ODBC, c’est toujours dans le fichier /etc/ejabberd/ejabberd.cfg.
  • Si vous cherchez maintenant un client, vous avez une liste complète ici. Etant sous Mac OS, j’ai choisi Adium. J’ai choisi de créer un compte de type XMPP :
    Capture_d_écran_04_10_13_21_34Dans la fenêtre suivante, vous sélectionnez le serveur. Chez moi j’ai mis l’IP directement, rapide et efficace :
    Capture_d_écran_04_10_13_21_23Et vous voilà avec votre compte !
    notificationVous êtes maintenant connecté :
    Contacts_et_Modifier_l’article_‹_Raspberry_Pi_Home_Server_—_WordPress
  • Le but est de se parler. Je suis donc passé par un iPad pour me créer un ami. Oui je sais, c’est désespérant comme vie sociale ! 🙂 Problème, Monal ne permet pas de créer un compte s’il n’existe pas (ou je n’ai pas trouvé). Je suis donc allé sur le serveur pour créer manuellement mon compte :
    ejabberdctl register ipad 192.168.1.25 ipad

    Je me retrouve donc avec un compte ipad@192.168.1.25 avec comme mot de passe ipad.
    IMG_0239Une fois configuré et activé vous pouvez ajouter le premier user à vos contacts :
    IMG_0242Chez votre premier utilisateur (chris ici), vous avez une demande d’autorisation pour accepter notre ami iPad :
    Autorisation__et_1._sshVous faites ensuite la demande dans l’autre sens pour ajouter ipad à la liste des contacts de chris :
    IMG_0243.PNGEt voilà le résultat chez chris :
    Contacts

  • Vous pouvez maintenant échanger des messages :
    xmpp-jabber-raspberrypi

Alors vous pouvez maintenant créer un serveur privé où seul un accès au serveur peut créer des utilisateurs, vous pouvez jouer sur la configuration pour avoir du SSL dans vos échanges, etc.

Vous aimez cet article ? Supportez-moi sur Patreon!

Vous aimerez aussi...