Linux:Serveur de messagerie instantanée jabber avec Ejabberd

Un article de Djjnet.

Ejabberd sera installé dans le dossier : /usr/local/ejabberd

Sommaire

Télécharger ejabberd

http://www.process-one.net/en/ejabberd/downloads/ Prendre le Linux Installer.

Base de données pour les comptes utilisateurs

wget http://svn.process-one.net/ejabberd/trunk/src/odbc/mysql.sql
mysql -p jabber_dj-j < mysql.sql

Configuration

fichier /usr/local/ejabberd/conf/ejabberd.cfg

Les paramètres importants à modifier sont :
Le ou les administrateurs :

{acl, admin, {user, "djj@jabber.dj-j.net"}}.

Ejabberd peut gérer plusieurs serveurs jabber virtuels :

{hosts, ["jabber.dj-j.net", "im.dj-j.org"]}.

Paramètres spécifiques à chaque serveur :

{host_config, "im.dj-j.org", [{auth_method, odbc},{odbc_server, {mysql, "localhost", "Base", "Login", "Motdepasse"}}]}.
{host_config, "jabber.dj-j.net", [{auth_method, odbc},{odbc_server, {mysql, "localhost", "Base2", "Login2", "Motdepasse2"}}]}.

Langue par défaut :

{language, "fr"}.

Script de démarrage

Créer un fichier /etc/init.d/ejabberd :

#!/bin/bash
#Repertoire d'installation de ejabberd
INSTALL_DIR=/usr/local/ejabberd
case "$1" in
  start)
       echo "Demarrage du serveur ejabberd"
       $INSTALL_DIR/bin/ejabberdctl start
       ;;
  stop)
       echo "Arret du serveur ejabberd"
       $INSTALL_DIR/bin/ejabberdctl stop
       ;;
  restart)
       echo "Arret du serveur ejabberd"
       $INSTALL_DIR/bin/ejabberdctl stop
       sleep 3
       echo "Demarrage du serveur ejabberd"
       $INSTALL_DIR/bin/ejabberdctl start
       ;;
  *)
       echo $0 "start|stop|restart"
       exit 1
       ;;
esac

Sauvegarde des données du serveur

La sauvegarde de la base de données est à faire en plus, voir l'article d'administration de MySQL.

#!/bin/bash
save_dir=/var/dj-j.net/backup/ejabberd
madate=`date +%Y%m%d`
mkdir -p $save_dir
/usr/bin/find $save_dir -type f -mtime +10 -exec rm -f {} ';' > /dev/null
cp -p /usr/local/ejabberd/conf/ejabberd.cfg $save_dir/ejabberd-$madate.cfg
/usr/local/ejabberd/bin/ejabberdctl dump $save_dir/ejabberd-$madate.dump