« Installer un serveur ejabberd sous GNU/Linux » : différence entre les versions

De Wiki JabberFR
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
m (mise à jour du wiki)
 
(8 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
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.
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.
 
== En partie graphiquement ==
=Installation du serveur ejabberd=
=== Installation graphique du serveur ejabberd ===
Nous installerons ici le serveur ejabberd à partir du binaire d'installation de [http://process-one.net 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 [http://ejabberd.jabber.ru/download disponibles pour plusieurs distributions] pour les personnes qui préfèrent.
Nous installerons ici le serveur ejabberd à partir du binaire d'installation de [http://process-one.net 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 [http://ejabberd.jabber.ru/download 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.''
''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.''


[http://process-one.net/en/projects/ejabberd/download.html#binaries Téléchargez le binaire] d'installation de la dernière version et donnez lui les droits d'exécution :
[http://process-one.net/en/projects/ejabberd/download.html#binaries Téléchargez le binaire] d'installation de la dernière version et donnez lui les droits d'exécution :


[[Image:01droits execution.png]]
[[Image:01droits execution.png]]


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


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


[[Image:02welcome screen.png]]
[[Image:02welcome screen.png]]


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


[[Image:03accept license.png]]
[[Image: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&nbsp;:
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 :


[[Image:04chemin installation.png]]
[[Image: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&nbsp;:
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 :


[[Image:05nom de domaine.png]]
[[Image: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"&nbsp;:
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" :


[[Image:06nom admin.png]]
[[Image:06nom admin.png]]


Rentrez le mot de passe de l'administrateur&nbsp;:
Rentrez le mot de passe de l'administrateur :


[[Image:07mdp admin.png]]
[[Image:07mdp admin.png]]


Confirmez l'insallation d'ejabberd&nbsp;:
Confirmez l'installation d'ejabberd :


[[Image:08confirm installer.png]]
[[Image:08confirm installer.png]]


Voilà, l'installation est terminée&nbsp;:
Voilà, l'installation est terminée :


[[Image:09Installation finie.png]]
[[Image:09Installation finie.png]]


=Configuration basique=
=== Configuration basique en ligne de commandes ===


==édition du fichier ejabberd.cfg==
==== É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&nbsp;:
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 :


<pre>cp ejabberd.cfg ejabberd.cfg.original</pre>
<pre>cp ejabberd.cfg ejabberd.cfg.original</pre>


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


<pre>
<pre>
Ligne 62 : Ligne 62 :
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).
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&nbsp;:
Pour que le serveur soit en français par défaut, il faut mettre la variable "language" à "fr" comme ceci :


<pre>{language, "fr"}.</pre>
<pre>{language, "fr"}.</pre>


==démarrer/arrêter le serveur==
==== 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&nbsp;:
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 :


<pre>
<pre>
Ligne 102 : Ligne 102 :
</pre>
</pre>


Donnez les droits d'exécution au fichier ejabberd que l'on vient de créer. Maintenant, depuis notre répertoire bin vous pouvez&nbsp;:
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&nbsp;:
* lancer ejabberd par :
<pre>./ejabberd start</pre>
<pre>./ejabberd start</pre>
* arrêter ejabberd par&nbsp;:
* arrêter ejabberd par :
<pre>./ejabberd stop</pre>
<pre>./ejabberd stop</pre>
* redémarrer ejabberd par&nbsp;:
* redémarrer ejabberd par :
<pre>./ejabberd restart</pre>
<pre>./ejabberd restart</pre>


=== Paramétrage ===


Dans le navigateur :
* http://localhost:5280/admin/
Avec :
* user : admin@example.com
* passwd : celui que vous avez choisi
[[Catégorie:Tutoriel]]
[[Catégorie:Tutoriel]]
== En ligne de commandes ==
L'aide qui va suivre a ete utilisee sous debian GNU/Linux. par consequent, l'aide pourrait ne pas fonctionner sous d'autres distributions (ce qui est peu probable :)). Je ne vais presenter qu'une configuration simple, referez-vous a la documentation officielle pour une conf plus complexe, et dans cette aide, il ne sera que montre une configuration pour l'utilisation d'un seul domaine jabber sur ce serveur.
=== Installation d'ejabberd ===
Nous allons utiliser l'outil "aptitude", qui, rappelons-le, est un outil pour installer des paquets (logiciels) en ligne de commandes, tout comme apt par exemple.
Vous devez etre en "root" (compte administrateur) pour pouvoir installer, pour ce faire, tapez la commande suivante dans un terminal :
<pre>
su
# Puis entrez le mot de passe root.
</pre>
"su" est utilise sous debian, sous Ubuntu, ce sera "sudo -s".
Vous etes maintenant en "root", il suffit de taper ce qui suit pour installer le paquet "ejabberd" (qui se trouve dans les depots officiels debian) :
<pre>
aptitude install ejabberd
</pre>
=== Configuration ===
Pour une configuration basique, il n'y a que quelques changements a faire dans le fichier principal de configuration d'ejabberd : "/etc/ejabberd/ejabberd.cfg".
*Utilisation de nano pour editer (ou d'autres editeurs) :
<pre>
nano /etc/ejabberd/ejabberd.cfg
</pre>
*Puis, modifiez
<pre>
{acl, admin, {user, "", "localhost"}}.</pre>
En
<pre>
{acl, admin, {user, "admin", "votre-domaine.jabber.tld"}}.
</pre>
*Ensuite,
<pre>
{hosts, ["localhost"]}.
</pre>
En
<pre>
{hosts, ["votre-domaine.jabber.tld"]}.
</pre>
*Puis faites un CTRL+Q pour quitter nano.
*On cree ensuite l'utilisateur admin pour pouvoir administrer ejabberd :
<pre>
ejabberdctl register admin votre-domaine.jabber.tld mot-de-passe-admin
</pre>
*Ensuite, on relance ejabberd pour que les modifications soient effectives :
<pre>
/etc/init.d/ejabberd restart
</pre>
=== Et maintenant, on administre !===
Ejabberd s'administre (hormis sa configuration) via son interface web, rendez-vous a l'adresse suivante :
<pre>
http://ip-de-la-machine:5280/admin
</pre>
Et vous entrez admin@votre-domaine.jabber.tld et le mot de passe de "admin".
A vous a jouer !
=== Conclusion ===
Cette configuration par defaut ne donne pas la possibilite, hormis a l'administrateur de creer des utilisateurs, il faut donc par defaut que l'admin ajouter manuellement chaque utilisateur via l'interface.

Dernière version du 14 novembre 2009 à 01:02

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.

En partie graphiquement

Installation graphique 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'installation d'ejabberd :

Voilà, l'installation est terminée :

Configuration basique en ligne de commandes

É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

Paramétrage

Dans le navigateur :

Avec :

  • user : admin@example.com
  • passwd : celui que vous avez choisi

En ligne de commandes

L'aide qui va suivre a ete utilisee sous debian GNU/Linux. par consequent, l'aide pourrait ne pas fonctionner sous d'autres distributions (ce qui est peu probable :)). Je ne vais presenter qu'une configuration simple, referez-vous a la documentation officielle pour une conf plus complexe, et dans cette aide, il ne sera que montre une configuration pour l'utilisation d'un seul domaine jabber sur ce serveur.

Installation d'ejabberd

Nous allons utiliser l'outil "aptitude", qui, rappelons-le, est un outil pour installer des paquets (logiciels) en ligne de commandes, tout comme apt par exemple.

Vous devez etre en "root" (compte administrateur) pour pouvoir installer, pour ce faire, tapez la commande suivante dans un terminal :

su
# Puis entrez le mot de passe root.

"su" est utilise sous debian, sous Ubuntu, ce sera "sudo -s".

Vous etes maintenant en "root", il suffit de taper ce qui suit pour installer le paquet "ejabberd" (qui se trouve dans les depots officiels debian) :

aptitude install ejabberd

Configuration

Pour une configuration basique, il n'y a que quelques changements a faire dans le fichier principal de configuration d'ejabberd : "/etc/ejabberd/ejabberd.cfg".

  • Utilisation de nano pour editer (ou d'autres editeurs) :
nano /etc/ejabberd/ejabberd.cfg
  • Puis, modifiez
{acl, admin, {user, "", "localhost"}}.

En

{acl, admin, {user, "admin", "votre-domaine.jabber.tld"}}.
  • Ensuite,
{hosts, ["localhost"]}.

En

{hosts, ["votre-domaine.jabber.tld"]}.
  • Puis faites un CTRL+Q pour quitter nano.
  • On cree ensuite l'utilisateur admin pour pouvoir administrer ejabberd :
ejabberdctl register admin votre-domaine.jabber.tld mot-de-passe-admin
  • Ensuite, on relance ejabberd pour que les modifications soient effectives :
/etc/init.d/ejabberd restart

Et maintenant, on administre !

Ejabberd s'administre (hormis sa configuration) via son interface web, rendez-vous a l'adresse suivante :

http://ip-de-la-machine:5280/admin

Et vous entrez admin@votre-domaine.jabber.tld et le mot de passe de "admin".

A vous a jouer !

Conclusion

Cette configuration par defaut ne donne pas la possibilite, hormis a l'administrateur de creer des utilisateurs, il faut donc par defaut que l'admin ajouter manuellement chaque utilisateur via l'interface.