Serveur de messagerie instannée personnel

This is the Jabber light bulb.

Image via Wikipedia

Dans un billet précédent, Serveur mail personnel, nous avons vu comment disposer de son propre serveur de messagerie. Cela nous permet d’être autonome et de ne pas dépendre de son FAI ou d’un fournisseur de messagerie tel que google gmail. Nous allons maintenant mettre en place une serveur de messagerie instantanée qui pourra être utilisé à la fois sur le réseau local et internet.

Le choix du serveur met en lice le protocol IRC et Jabber. Notre choix se porte sur Jabber pour son l’extensibilité. Nous allons maintenant détailler l’installation de Jabber.

Dans Ubuntu 11.04 jabber est présent dans le dépôt officiel. Nous portons notre choix sur la dernière version: la branche 2 de jabber. Dans la liste des paquets il faut sélectionner jabber2. Une fois l’installation effectuée, nous allons paramétrer jabber. Cela consiste à:

  1. créer la base de données dans laquelle jabber stocke les messages et les informations sur les utilisateurs
  2. spécifier la connexion à la base de données
  3. ouvrir le mécanisme de création de compte

Nous utilisons MySQL comme base de données. Il faut commencer par créer la base (schéma) disons jabberd2. Pour cela il suffit de lancer un script distribué avec Jabber.

cd /usr/share/doc/jabberd2

Dans Ubuntu le sript est compressé, on va l’extraire:

gunzip db-setup.mysql

Puis on execute le scrip en faisant:

mysql -u root -p
mysql> \. db-setup.mysql

Puis il faut créer l’utilisateur jabberd2. Pour cela nous utiliser MySQL Administrator qui permet de faire cette tâche via une IHM. Dans l’onglet Privilèges il faut donner à l’utilisateur jabberd2 les droits sur le schema jabberd2. Il a besoin de faire des INSERT, SELECT, UPDATE,DELETE.

Nous allons maintenant indiquer à Jabber de se connecter à la base MySQL ainsi préparée.

Pour le stockage des messages, dans le fichier /etc/jabberd2/sm.xml vérifier que le nœud xml /storage/driver vaut bien mysql. Dans ce même fichier aller dans le noeux xml /mysql/pass pour indiquer le mot de passer qui a été choisi pour l’utilisateur jabberd2.

Pour l’authentification, dans le fichier /et/jabberd2/c2s.xml il faut faire les même manipulations que pour sm.xml.

Le serveur jabber est maintenant bien connecté à la base de données. Il nous reste à lui donner une identité qui lui permet d’être reconnu sur internet. Pour cela nous devons indiquer dans le fichier /etc/jabberd2/sm.xml spécifier l’id du serveur dans le noeux xml /sm/id. Par exemple si le serveur est accéssible par le nom jabber.acme.com, il faudra mettre cette valeur comme identifiant. Ainsi les utilisateurs gérés par ce serveur auront des identifiants de la forme toto@jabber.acme.com.

Nous allons maintenant activer la création de compte pour le public. Cette section n’est utile que si on souhaite permettre la création de compte depuis un client jabber. Dans le fichier /etc/jabberd2/c2s.xml il faut également indiquer l’identifiant du serveur dans le noeud xml /c2s/local/id vaut bien

 <id register-enable='true'>jabber.acme.com</id>

Et que la création de compte est bien autorisé au niveau du backend de base de données

<authreg>
    <!-- Dynamic authreg modules path -->
    <path>/usr/lib/jabberd2</path>

    <!-- Backend module to use -->
    <module>mysql</module>
    <register>
      <enable/>
    </register>

Une dernière étape consiste à ouvrir le pare-feu ou rediriger les ports utilisés par Jabber vers la machine hôte cachée derrière la box du FAI. Pour cela il faut ouvrir les ports suivants : 5222, 5223 et 5269.

Il suffit maintenant de relancer le service:

sudo service jabberd2 restart

et d’utiliser un client Jabber pour créer son propre compte.

 

Cet article, publié dans Application, Paramétrage, est tagué . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s