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.
Dans 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 :
Dans la fenêtre suivante, vous sélectionnez le serveur. Chez moi j’ai mis l’IP directement, rapide et efficace :
Et vous voilà avec votre compte !
Vous êtes maintenant connecté :
- 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 [email protected] avec comme mot de passe ipad.
Une fois configuré et activé vous pouvez ajouter le premier user à vos contacts :
Chez votre premier utilisateur (chris ici), vous avez une demande d’autorisation pour accepter notre ami iPad :
Vous faites ensuite la demande dans l’autre sens pour ajouter ipad à la liste des contacts de chris :
Et voilà le résultat chez chris :
- Vous pouvez maintenant échanger des messages :
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.