Installer un serveur ejabberd sous GNU/Linux

De Wiki JabberFR
Révision datée du 16 août 2007 à 16:40 par Nyco (discussion | contributions) (révisions diverses et mineures)
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 entre 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 :

01droits execution.png

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 :

02welcome screen.png

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

03accept license.png

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 :

04chemin installation.png

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 :

05nom de domaine.png

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" :

06nom admin.png

Rentrez le mot de passe de l'administrateur :

07mdp admin.png

Confirmez l'installation d'ejabberd :

08confirm installer.png

Voilà, l'installation est terminée :

09Installation finie.png

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
  • lancer ejabberd par :

./ejabberd start

  • arrêter ejabberd par :

./ejabberd stop

  • redémarrer ejabberd par :

./ejabberd restart