Prosody : un serveur Jabber léger

Posté le 3 janvier 2010 @ 18 h 21 min par Vanaryon

Dans le monde des Logiciels Libres, on trouve toujours plusieurs outils qui permettent d'utiliser un même protocole, un même format. Ceci est un réel avantage : tout le monde trouve ce qui lui va. Dans le domaine des serveurs Web, certaines personnes adorent Apache, mais d'autres lui préfèreront Lighttpd (plus léger, plus simple).

Dans ce billet, je vais vous faire découvrir Prosody, un serveur Jabber léger, sans surplus, et surtout très simple à configurer ! Tout d'abord, une petite introduction sur ce nom qu'est "Jabber" s'impose ! Ce nom fait tout simplement référence au protocole de messagerie instantanée ouvert XMPP, qui permet de discuter avec ses amis via la messagerie instantanée (ou MI), partager ses fichiers, sa présence, son humeur, la musique qu'on écoute, et j'en passe. Le réel intérêt de XMPP est sa modularité : en effet, le langage qu'il utilise pour les communications, le XML, permet d'ajouter peu à peu de nouvelles fonctions à celles présentes à l'origine. D'ailleurs, tout est dans le nom : eXtensible Messaging and Presence Protocol (protocole de messagerie et de présence extensible) !

Le modèle réseau de ce protocole est basée sur des relations client/serveur et serveur/serveur : en effet, comme avec l'e-mail (prosocole SMTP pour le serveur à serveur et POP/IMAP pour le client à serveur), XMPP s'appuie sur une infrastructure serveur complètement décentralisée (pas comme pour MSN et autres), ce qui permet à n'importe qui de devenir fournisseur de services XMPP.

Pour ceux souhaitant tout simplement "utiliser", j'avais rédigé un billet il y a quelque mois de cela sur un client Jabber libre et complet : Gajim. Ici, nous allons "administrer" !

Prosody : pourquoi lui et pas un autre ?

Je vous répondrais "parce-qu'il faut toujours faire un choix", mais ici c'est un choix personnel assez réfléchi : Prosody est un projet jeune (cela peut quand même gêner certaines personnes), il faut donc du monde pour lancer les développements !

Ensuite, Prosody est libre, étant donné de la licence utilisée : MIT/X11, il ne vous imposera pas de restriction quelconque à ce niveau là. Puis, sa légèreté, sa simplicité de configuration et le fait qu'il va directement à l'essentiel sont pour moi ce qui m'a fait plus pencher pour lui et pas pour un autre (ejabberd, Tigase, Openfire, etc...).

Installons donc ce serveur !

L'installation est plutôt simple si vous êtes un habitué des dépôts. Ouvrez un terminal, puis entrez-y la commande suivante :

sudo nano /etc/apt/sources.list

Descendez tout en bas du fichier qui s'ouvre devant vous, et ajoutez-y cette ligne :

deb http://packages.prosody.im/debian karmic main

Ensuite, il nous faut ajouter la clé GPG du dépôt à utiliser :

wget http://prosody.im/files/prosody-debian-packages.key -O- | apt-key add -

Ceci fait, nous allons mettre à jour les dépôts via Aptitude :

sudo apt-get update

Par la suite, il nous suffit tout simplement d'installer Prosody, soit via Synaptic (Système/Administration/Gestionnaire de paquets Synaptic), ou tout simplement entrer cette commande dans le terminal déjà ouvert :

sudo apt-get install prosody liblua5.1-sec0

Nous installons ainsi le paquet prosody (pour le serveur XMPP) et le paquet liblua5.1-sec0 qui lui permet d'utiliser SSL (le chiffrement des communications).

Et voilà, vous venez d'installer le serveur Jabber le plus léger du monde sur votre machine !

La configuration de Prosody

Prosody est installé, mais n'est pas pour autant fonctionnel ! Ne vous découragez pas, la syntaxe du fichier de configuration est très accessible, et ce, même aux débutants !

Quelques petites modifications et ça sera terminé : nous allons commencer par l'ouvrir :

sudo nano /etc/prosody/prosody.cfg.lua

Ceci fait, activons le serveur ! Remplacez enabled = false par enabled = true pour autoriser les connexions entrantes. Ensuite, vous allez avoir à entrer votre nom de domaine en substituant à tous les example.com du fichier votre nom de domaine bien à vous. Ceci commence à partir de la ligne Host "example.com".

Enfin, si vous souhaitez autoriser tout le monde à s'inscrire sur votre serveur XMPP en tant qu'utilisateur, mettez true au lieu de false dans la variable allow_registration.

Puis faites CONTROL + O pour enregistrer votre fichier, et redémarrez Prosody avec cette commande afin de lui faire prendre en compte les nouveaux paramètres :

sudo /etc/init.d/prosody restart

L'ouverture des ports

En général, tout équipement réseau bien pensé pour la sécurité se doit de vous fournir un système d'ouverture/blocage de ports. Imaginez que tous vos ports restent ouverts en permanences, bonjour les dégâts... Il vous faudra donc ouvrir les ports nécessaires au protocole XMPP pour communiquer avec les clients et les serveurs.

Note : passez cette étape si vous ne souhaitez pas utiliser votre serveur Jabber via l'Internet (c'est à dire une utilisation en réseau local).

La liste à ouvrir est la suivante :

  • 5222 (TCP & UDP) → communications client/serveur (pour les utilisateurs)
  • 5269 (TCP & UDP) → communications serveur/serveur (pour l'envoi de message inter-serveurs)
  • 5280 (TCP & UDP) → communications http/serveur (de type BOSH)

Aussi, si vous utilisez votre serveur Jabber sur la même machine que lui-même, il vous faudra ajouter ouvrir votre fichier hosts :

sudo nano /etc/hosts

Et y ajouter une ligne de ce style après les autres :

127.0.0.1   votredomaine.com

Finissons-en !

Normalement, tout est bien configuré, nous pouvons donc tester le serveur ! Installez Gajim (ici pour Ubuntu, ici pour tout autre OS), et connectez-vous à votre serveur.

Une chose intéressante est de créer un JID servant uniquement comme compte administrateur, que vous avez pu renseigner au préalable dans votre fichier de configuration. Je vous conseille de ne pas utiliser votre compte administrateur comme compte utilisateur (on ne sait jamais, si vous utilisez partout votre JID, votre mot de passe peut être enregistré par un keylogger).

Nous avons terminé, amusez-vous bien avec votre nouveau serveur Jabber ! Ci dessous je vous ai mis quelques liens intéressants pour approfondir, vous devriez y jeter un coup d'œil !

Quelques liens en vrac

Les rétroliens

  1. Ping : L’hébergement total, chez soit – Influence PC le 7 octobre 2010

Les commentaires

  1. PaulK
    5 janvier 2010 à 20:23

    En effet, j'ai moi-même testé Prosody et il est vraiment super-simple de configuration et marche relativement correctement.

    Seul hic, je suis sur Fedora et aucun paquet n'est disponible à ce jour, donc j'ai du compiler quelques bricoles.
    Toutefois, quelques personnes de la communauté fedora-fr ont prévu de créer un paquet :)

    Le logiciel est écrit un lua, langage interprété.

    Pour ce qui est de ce billet, et bien je pense qu'il résume plutôt bien l'essentiel, bien que la configuration de prosody puisse être légèrement plus étoffée !

Laisser un commentaire