Il ne s’agit pas ici d’une explication destinée à une mise en production, mais plutôt d’un mini HOWTO
pour démarrer. Pour votre information personnel, Ejabberd est un serveur de messagerie instantanée à haute performance.
Ce type de serveur permet de transférer des informations de présence et de statut
entre utilisateurs connectés, ainsi qu'entre serveurs. Il permet
également les communications temps-réel entre eux.- Ejabberd 1.0.0
- Le site de référence est : http://ejabberd.jabber.ru/
1. Installation logicielle
- Installer une Ubuntu 6.06 Dapper de type serveur (ou LAMP si besoin). On peut partir sur une installation déjà effectué, en mode graphique, … mais faisons simple et clair.
- Mettre à jour le système :
- sudo apt-get update
- sudo apt-get dist-upgrade
- sudo shutdown -r now (une mise à jour du noyau ayant probablement été effectuée)
- Installer un serveur SSH : sudo apt-get install ssh (ce n’est pas obligatoire, mais c’est bien pratique avec PuTTY) .
- Décommenter les lignes dans le fichier /etc/apt/sources.list spécifiques à universe :
- deb http://fr.archive.ubuntu.com/ubuntu/ dapper universe
- deb-src http://fr.archive.ubuntu.com/ubuntu/ dapper universe
- deb http://security.ubuntu.com/ubuntu dapper-security universe
- deb-src http://security.ubuntu.com/ubuntu dapper-security universe
- Prendre en compte les nouveaux paquets disponibles puis installer
ejabberd et ce dont il aura besoin (dont erlang) automatiquement :
- sudo apt-get update
- sudo apt-get install ejabberd
2. Configuration minimaliste
Attention, les points présents dans les éléments de paramétrages de ejabberd ne sont pas là pour faire joli, il ne faut pas les oublier !
- Editer le fichier de configuration /etc/ejabberd/ejabberd.cfg (sudo…). Le fichier étant commenté, il sera aisé de savoir où ajouter ou modifier les éléments qui suivent.
- Ajouter dans la première partie du fichier le nom d’un utilisateur (qui sera créé plus tard) pouvant administrer ejabberd avec la ligne suivante : {acl, admin, {user, “sam”}}. (ici l’utilisateur est “sam”)
- Rechercher la déclaration {hosts, [”localhost”]}. et remplacer localhost par le bon nom de machine (par exemple “ubuntu”, pour du test).
- Rechercher la déclaration {language, “en”}. et remplacer par {language, “fr”}. (donc en français par défaut)
- Redémarrer ejabberd : sudo /etc/init.d/ejabberd restart
- Créer le compte d’administration soit à l’aide d’un client, soit (plus rapide) à l’aide de la commande ejabberdctl. Dans mon exemple : ejabberdctl register sam ubuntu mon_mot_de_passe
- Se connecter à l’aide d’un navigateur sur le service d’adminisatration : http://nom_ou_ip_de_la_mahcine:5280/admin , l’identifiant devant être complet (ici toujours sam@ubuntu) et le mot de passe étant celui indiqué lors de la création du compte avec ejabberdctl ou le client Jabber.
3. Compléments utiles
Il peut être souhaitable de ne pas laisser les utilisateurs s’enregistrer eux-même. Pour ce faire il faut mettre en commentaire la ligne contenant {access, register, [{allow, all}]}. et décommenter (ou ajouter) la ligne {access, register, [{deny, all}]}.
Afin de sécuriser les connexions, il est préférable d’imposer l’accès avec cryptage SSL. Il suffit de neutraliser l’accès via le port 5222 en mettant en commentaire les lignes concernées dans le fichier de configuration. Attention à ne pas mettre en commentaire le crochet ouvrant “[” au début de la liste de protocoles (s’il est sur la même ligne).
Pour la création et gestion de carnets d’adresses, voir cette page . C’a n’a pas l’air clair à première vue, mais en essayant les cas de figures présentés puis en bricolant un peu, tout s’éclaire !
L’utilisation de serveurs virtuels est simple. Par exemple pour avoir deux domaines (toujours dans le cadre de mon exemple) :
- La déclaration de hosts contient alors une simple liste : {hosts, [”ubuntu-jabber”,”zozo-jabber”]}.
- Pour éviter d’avoir à créer un second utilisateur d’administration dans le second domaine, je modifie la déclaration des comptes d’administration : {acl, admin, {user, “dieu”,”ubuntu-jabber”}}. Voir cette page pour (un peu) plus d’informations.
L’utilisation d’un connecteur MSN est possible en utilisant le connecteur PyMSNt et en suivant la documentation disponible sur le site, ou son équivalent sur ejabberd.jabber.ru . Concernant Ubuntu, cela s’installe comme sur une Debian. Je ne sais pas dans quelle mesure ce composant est sécurisé. De plus, l’installation étant manuelle, il est important de ne pas l’installer n’importe où, de ne pas le faire fonctionner avec des droits d’administration ou un utilisateur pouvant acquérir ces droits par sudo, … Il est à noter que l’usage de ce connecter pour l’utilisateur final lui impose d’avoir un compte MSN, et que ce n’est pas très intuitif à paramétrer.
Le fonctionnement de certaines options est dépendant de la bonne résolution de noms. Par exemple l’utilisation des conférences impose un préfixe conference. devant le nom de domaine. Il en va de même avec le connecteur MSN qui impose msn. en préfixe. Par exemple pour le domaine im.exemple.com il faudra que conference.im.exemple.com et msn.im.exemple.com soient définis, ou à défaut qu’un wildcard soit défini pour im.exemple.com.
Source : Blog-perso.onzeweb.info






