Ejabberd
Ejabberd | |
---|---|
Développeur | ProcessOne |
Dernière version | 17.01 (le 20 janvier 2017) modifier |
Système(s) d'exploitation | Indépendant |
Type | Serveur Jabber |
Langage | Erlang |
Licence(s) | GPL |
Site web |
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.
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 Wildfire 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
- (en) Le site communautaire officiel
- (en) Téléchargement
- (en) ejabberd sur jabber.org
- (en) Salon des développeurs (ejabberd@conference.jabber.ru)
- (en) Guide d'installation et de configuration d'ejabberd
- (en) Vidéo de configuration d'ejabberd en 180 secondes