« Ejabberd » : différence entre les versions

De Wiki JabberFR
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
{{Logiciel_simple |
{{Logiciel_simple |
   nom = Ejabberd |
   nom = Ejabberd |
   image = |
   image = [[Image:Ejabberd logo.png]] |
   description= |
   description= |
   développeur = Process One |
   développeur = Process One |

Version du 22 novembre 2006 à 22:17

Ejabberd
Développeur Process One
Dernière version 17.01 (le 20 janvier 2017) modifier
Système(s) d'exploitation Linux, Windows, Mac OS X, etc.
Type Serveur Jabber


Licence(s) logiciel libre sous licence GPL
[[1] Site web]

Modèle:Tutos 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 Process One 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.

Points forts

  • supporte complètement 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

Points faibles

  • pour les développeurs, Erlang n'est pas forcément le langage qu'ils connaissent le mieux
  • le fichier de configuration étant écrit en Erlang, la syntaxe est importante, et les erreurs de configurations sont trés déroutantes

Installation et configuration

  • Tout d'abord vous devez installer ejabberd. (Sous Ubuntu ou Debian, un simple apt-get install ejabberd suffit)
  • Éditez le fichier de configuration /etc/ejabberd/ejabberd.cfg et rajoutez votre nom de domaine à la ligne hosts (ligne 94 ou alentours)
{hosts, ["example.net"]}.
  • Toujours dans le fichier de configuration, rajoutez votre nom d'utilisateur comme administrateur (aux alentours de la ligne 9)
{acl, admin, {user, "moncompte"}}.
  • Redémarrez le serveur (/etc/init.d/ejabberd restart sous Debian/Ubuntu)
  • Créez un compte utilisateur avec n'importe quel client Jabber
  • Connectez-vous sur http://localhost:5280/admin (attention, le login est le JID complet, incluant "@domaine")
  • Voilà, vous avez maintenant accès à l'interface de configuration

Migration

  • ejabberd permet la migration 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 fonctionalités de 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 palier à 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


Tutoriels

Liens

Retour à la page des Administrateurs