ejabberd

De JabberFR.
ejabberd
Logo ejabberd.png
Développeur ProcessOne
Dernière version 14.07 (le 23 juillet 2014) modifier
Système(s) d'exploitation Indépendant
Type Serveur Jabber
Langage Erlang
Licence(s) GPL
Site web
Participer.png

Tutoriels ejabberd

  1. Installation du serveur Jabber ejabberd
  2. Configuration de base du serveur ejabberd
  3. Création des comptes avec ejabberd
  4. Configuration des ports de ejabberd
  5. Configuration avancée de ejabberd
  6. Intégration de LDAP dans ejabberd
  7. Configurer les passerelles pour ejabberd
  8. server2server (s2s) de ejabberd
  9. Plugins de ejabberd

ejabberd est un serveur Jabber écrit en Erlang, un langage relativement peu connu mais optimisé pour les applications distribuées. ejabberd est soutenu par la société française ProcessOne et est de plus en plus utilisé. ejabberd résiste bien à la charge et grâce à Erlang, il est facile de faire un cluster de serveurs ejabberd. Son installation et son administration sont des plus aisées grâce à son interface web.

Sommaire

Avantages

  • Supporte complètement les RFC définissant le protocole XMPP
  • Stable et connu pour supporter de fortes charges
  • Intègre un grand nombre de services par défaut (annuaire, serveur de discussion, service pubsub, etc.)
  • Facile à installer et à administrer
  • Fournit l'implantation libre de pubsub la plus complète
  • Bénéficie d'une documentation importante
  • Possibilité de faire un cluster
  • Interface web d'administration

Désavantages

  • Pour les développeurs, Erlang n'est pas forcément le langage qu'ils connaissent le mieux
  • Les messages d'erreurs ne sont pas très explicites. Ainsi, trouver d'où vient le problème peut-être assez complexe.
  • Le fichier de configuration étant écrit en Erlang, la syntaxe est importante, et les erreurs de configurations sont très déroutantes

Migration

  • ejabberd permet la migration d'un serveur jabberd1.4 ou jabberd2 ou encore Openfire vers ejabberd. Des tutoriels sont disponibles sur le site de la communauté. Dans certains cas (voir ci-dessous avec une base de données MySQL) la migration des comptes jabber peut être mal faite.

Base de données supportées

ejabberd supporte un nombre intéressant de base de données:

  • Mnesia est la base de données native de ejabberd fournit par le langage Erlang. Selon les programmeurs, elle offre un certains nombre d'avantages mais souffre de peu d'outils pour l'administrer.
  • MSSQL est supporté depuis la version 1.1.2
  • MySQL est supporté, mais certaines fonctionnalités ne marche plus: Shared Roster, certaines Statistiques de l'interface d'admins sont fausses. De plus, la migration d'un autre serveur vers ejabberd/MySQL ne fonctionne pas complètement. C'est le cas, si vous voulez migrer un serveur jabberd1.4 vers ejabberd. Le script de migration écrit en erlang ne migre pas les rosters des comptes jabber. Ainsi aucun utilisateur ne retrouve ses contacts; ce qui est fortement gênant pour un logiciel de messagerie instantanée ! Ayant rencontré ce cas, j'ai écrit un script en PHP pour remédier à ce problème: il récupère tous les contacts d'un fichier utilisateur en xml (fichier généré notamment par jabberd1.4) pour les mettre dans les tables MySQL d'ejabberd. Ce script est disponible sous licence GNU GPL v2.
  • PostgreSQL

Liens internes

Liens externes

Outils personnels