Installation d'un serveur XMPP OpenFire



L'idée est de déployer un serveur XMPP qui sera chargé des communications inter-applis.
Il est nommé jabber.iut.rdz
Notre serveur ne va, a priori, pas supporter une forte charge, on va donc se contenter d'utiliser la base de données HSQLDB embarquée, sans déployer un SGBD externe. De la même manière, on ne va pas s'appuyer sur un annuaire LDAP pour la gestion des comptes, on créera des comptes purement applicatifs qui seront stockés dans la base locale (itou pour l'authentification).
Pas besoin d'installer un serveur web et un container d'applications (genre Tomcat ou JBoss), OpenFire embarque son propre serveur d'applications web.

Installation d'OpenFire

On récupère chez Ignite RealTime, la dernière version d'OpenFire qui est un serveur XMPP tournant sur une JVM : on télécharge le .deb sur le serveur jabber.
Au préalable, on n'oublie d'installer une JVM de Sun :
apt-get install sun-java6-jre
dpkg -i openfire_3.6.4_all.deb
/etc/init.d/openfire start

Une interface web d'administration est alors disponible sur http://jabber.iut.rdz:9090/
S'il n'autorise pas le compte admin à se connecter (comportement par défaut), il ne faut pas hésiter à ajouter dans /etc/openfire/openfire.xml :
<admin><authorizedUsernames>admin</authorizedUsernames></admin>

entre les balises <jive> ... </jive>

Configuration d'OpenFire

On va laisser les valeurs par défaut sauf pour les champs suivants :
  • Domaine = iut.rdz
  • Adresse Email de l'administrateur = jabber@iut-rodez.fr

Mise à jour du DNS

Sur le DNS gérant la zone iut.rdz, on ajoute dans la zone directe les trois lignes suivantes :
_xmpp-server._tcp.iut.rdz.  IN SRV 5 0 5269 jabber.iut.rdz.
_xmpp-client._tcp.iut.rdz.  IN SRV 5 0 5222 jabber.iut.rdz.
_jabber._tcp.iut.rdz        IN SRV 5 0 5269 jabber.iut.rdz.
Ces lignes vont permettre à un serveur ou un client XMPP de découvrir le nom de notre serveur xmpp jabber.iut.rdz à partir du nom de domaine xmpp iut.rdz .

Pour xmpp4r (ou xmpp4r-simple)




Il faut virer le SASL-MD5 dans openfire.xml (attention à ne pas effacer le <admin/>)
<sasl><mechs>PLAIN</mechs></sasl> 
Comments