Installer un serveur jabber

Jabber est un protocole de messagerie instannée. Il a l’avantage d’être ouvert et compatible avec d’autre systéme de messagerie via des passerelles.

Lorsqu’on posséde son propre serveur, il peut être intéressant de profiter de ces services pour se rendre indépendants d’un système donné.

Avant propos

Du fait que j’utilise alternc, une idée sous jacente à l’installation est de pouvoir dans un futur coupler les 2 système entre eux.
Le serveur jabber choisit est ejabberd, je ne sais pas si c’est le meilleur mais il semble être pas mal utilisé..

Préparer le serveur

Ejabberd s’appuie sur un hôte déterminé. Si on ne peut mettre à jour son serveur DNS, on peut modifier son /etc/hosts, le temps que les mises à jour DNS soit propagées.

Installer

apt-get install ejabberd

L’installation est relativement simple, quelles que captures d’écran pour se le prouver.

Tester

Ejabberd installe par défaut une interface web pour son administration.
Si l’installation s’est bien passée, ejabberd doit répondre à l’url suivante http://im.azerttyu.net:5280/admin/

Le nom d’utilisateur et le mot de passe à donner sont ceux fournit lors de l’installation.
Attention le nom d’utilisateur est le JID soit root@im.azerttyu.net

Utiliser Mysql en lieu et place de Mnesia

Par défaut ejabberd utilise une base de donnée propre.
Voulant à terme faire communiquer alternc et ejabberd, je souhaite utiliser Mysql comme base de donnée au lieu de mnesia.

Ejabberd dit supporter nativement Mysql. Le seul détail c’est que derrière nativement nous devons comprendre :

  • générer les connecteurs ODBC pour Mysql
  • modifier le fichier de configuration
  • créer à la main la base de donnée
  • remplir la base

Installer les connecteurs Mysql

A partir de maintenant ejabberd pourra causer avec Mysql

Configurer l’accès à Mysql

Cette partie est relativement plus simple.

Via phpmyadmin, une base de donnée alternc_mysql a été créé et remplit à l’aide du script fournit par ejabberd mysql.sql

D’abord il faut sauvegarder la configuration existante :
 ejabberdctl backup mnesiadata
Par la suite nous pourrons restaurer les données dans Mysql

Nous pouvons stopper ejabberd /etc/init.d/ejabberd stop

Nous pouvons alors modifier le fichier de configuration nano /etc/ejabberd/ejabberd.cfg

  • commenter l’appel à la base interne
    • % {auth_method, internal}.
  • ajouter l’accés à mysql
  • Indiquer quels modules seront couplés à mysql
  • Redemarrer le service /etc/init.d/ejabberd start

Definir le compte admin

Comme nous avons tout cassé en créant une base mysql vide, il faut récreer le compte admin dans la nouvelle base mysql.

La restauration sera rapide et simple ejabberdctl restore mnesiadata

Il n’est pas nécessaire de redemarrer ejabberd, la restauration se fait à chaud.

Accéder à l’administration

Si tout s’est bien passer, l’url suivant doit répondre
http://im.azerttyu.net:5280/admin</code

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.