Installer un serveur ejabberd sous GNU/Linux

De Wiki JabberFR
Aller à la navigation Aller à la recherche

L'objet de ce tutoriel est de montrer comment mettre en place un serveur Jabber/XMPP ejabberd sous GNU/Linux. Le tutoriel a été commencé avec la version 0.9.8 puis la version 1.0.0 est sortie entre temps. Les différences entres ces deux versions seront signalées tant que possible mais il pourra être nécessaire d'adapter certains paramêtres.

Installation du serveur ejabberd

Nous installerons ici le serveur ejabberd à partir du binaire d'installation de Process One. Cet installeur fonctionne sous toutes les distributions GNU/Linux et inclut la partie de l'environnement erlang nécessaire au bon fonctionnement d'ejabberd. Il est utilisable aussi bien en mode graphique qu'en mode texte. Des paquets sont aussi disponibles pour plusieurs distributions pour les personnes qui préfèrent.

NB : les copies d'écran de la phase d'installation ont été réalisées avec la version 0.9.8. La version 1.0.0 propose maintenant en plus de choisir le langage de la phase d'installation. Le français est disponible.

Téléchargez le binaire d'installation de la dernière version et donnez lui les droits d'exécution :

Pour obtenir le même résultat en ligne de commande, il faut taper : chmod u+x ejabberd-0.9.8_1-linux-installer.bin

Exécutez ensuite le binaire et vous devriez voir apparaître l'écran de bienvenue :

Le logiciel est placé sous licence GNU/GPL. Acceptez la licence :

Choisissez un chemin d'installation. Comme le logiciel n'est pas installé par le système standard de paquets de votre distribution, les chemins les plus appropriés sont certainement /opt ou /usr/local/jabber :

Rentrez votre nom de domaine. Ici notre serveur s'appellera "example.com". Les utilisateurs auront donc des adresses du type thomas@example.com, marie@example.com, etc. Si vous avez plusieurs noms de domaine, entrez celui utilisé par l'administrateur principal du serveur, vous rentrerez les noms de domaine supplémentaires par la suite :

Rentrez le nom de l'administrateur. L'administrateur a certains privilèges supplémentaires comme le fait de pouvoir voir les utilisateurs connectés, de pouvoir envoyer des messages à tous les utilisateurs ou encore de pouvoir administrer le serveur par l'interface d'administration web. Ici, nous appelons l'administrateur "admin", son nom complet (celui qu'il faudra utiliser pour l'interface d'administration web) sera donc "admin@example.com" :

Rentrez le mot de passe de l'administrateur :

Confirmez l'insallation d'ejabberd :

Voilà, l'installation est terminée :

Configuration basique

édition du fichier ejabberd.cfg

Maintenant qu'ejabberd est installé, dans le répertoire principal (le répertoire d'installation que vous avez défini, par exemple /opt/ejabberd-1.0.0), vous devriez avoir un fichier "ejabberd.cfg" (pour la version 1.0.0, le fichier ejabberd.cfg est dans un sous répertoire "conf"). Sauvegardez le fichier original au cas où par :

cp ejabberd.cfg ejabberd.cfg.original

Nous pouvons maintenant modifier le fichier sans craintes. Au début du fichier doivent se trouver les trois lignes :

override_global.
override_local.
override_acls.

Avec ces lignes, lorsque vous éditerez votre fichier de configuration, l'ancienne configuration sera enlevée avant de prendre en compte la nouvelle (sinon elle est ajoutée par dessus ce qui peut être source de confusion).

Pour que le serveur soit en français par défaut, il faut mettre la variable "language" à "fr" comme ceci :

{language, "fr"}.

démarrer/arrêter le serveur

Dans le répertoire où est installé ejabberd (/opt ou /usr/local/jabber par exemple), créez un répertoire "bin". Nous mettrons dans ce répertoire, tous les scripts qui nous permettrons de nous faciliter la vie et notamment les scripts d'arrêt et de démarrage des différents composants. Voici un exemple simple de script de démarrage/arrêt pour ejabberd :

#!/bin/sh
#####Fichier /opt/bin/ejabberd#####

#Repertoire d'installation de ejabberd
INSTALL_DIR=/opt/ejabberd-1.0.0

case "$1" in
   start)
      echo "Demarrage du serveur ejabberd"
      $INSTALL_DIR/bin/ejabberdctl default start
      ;;

   stop)
      echo "Arret du serveur ejabberd"
      $INSTALL_DIR/bin/ejabberdctl default stop
      ;;

   restart)
      echo "Arret du serveur ejabberd"
      $INSTALL_DIR/bin/ejabberdctl default stop
      sleep 3
      echo "Demarrage du serveur ejabberd"
      $INSTALL_DIR/bin/ejabberdctl default start
      ;;

   *)
      echo $0 "start|stop|restart"
      exit 1
      ;;
esac

Donnez les droits d'exécution au fichier ejabberd que l'on vient de créer. Maintenant, depuis notre répertoire bin vous pouvez :

  • lancer ejabberd par :
./ejabberd start
  • arrêter ejabberd par :
./ejabberd stop
  • redémarrer ejabberd par :
./ejabberd restart