Installer un serveur XMPP (Jabber)
Rédigé par Xavier - -
Bon, après avoir créée notre propre serveur web, pourquoi pas faire un serveur XMPP par la suite?

Logiciels:
- debian GNU/Linux
- ejabberd
- iptables
Niveau requis
- Utiliser la "ligne de commandes"
- Savoir se connecter à XMPP avec un logiciel extérieur (Pidgin...)
- Savoir configurer iptables
Choix du serveur:
Il existe beaucoup de serveurs XMPP (liste wikipédia) mais certains sont propriétaires, d'autres en java... ce qui ne nous intéresse pas vraiment. Personnellement j'ai retenu ejabberd, qui est libre et pas très lourd en fonctionnement.
Installation
Pour debian lenny, la distribution sur laquelle nous travaillons:
Il est disponible dans les dépôts.
Configuration
Le serveur est installé mais il faut faire un petit tour dans la configuration:
Commencez par trouver les lignes:
{acl, admin, {user, "", "localhost"}}.
Sur la seconde ligne il y a deux apostrophes seules, entre les deux il faut rajouter le nom de l'utilisateur qui sera admin. Par exemple "admin". Remplacez "localhost" par le nom de domaine de votre serveur. Dans mon cas, ça donne:
{acl, admin, {user, "admin", "opensourcien.blogdns.org"}}.
Juste en dessous, trouvez:
Là aussi, modifiez "localhost" par votre nom de domaine. Beaucoup plus bas, trouvez les lignes:
%%
{language, "en"}.
Et remplacez bien sûr par "fr". Créez ensuite l'utilisateur qui aura les privilèges administrateur, et que l'on a défini dans la configuration. Utilisez la commande suivante:
Dans notre cas cela donne:
Relancez votre serveur:
Parefeu
La plupart du temps, sur un serveur, vous aurez un parefeu. Ejabberd a naturellement besoin que certains ports soient ouverts: 5222, 5223, 5269 et 5280. Voici les règles iptables:
iptables -A INPUT -i eth0 -p tcp --dport 5223 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 5269 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 5280 -j ACCEPT
Si vous utilisez un script (comme dans le tuto pour le serveur web), ajoutez-y ces lignes.
Se connecter
En utilisant un client XMPP comme Pidgin, Psi, Kopete etc... vous devriez maintenant pouvoir vous connecter à votre serveur en utilisant admin@opensourcien.blogdns.org (dans notre exemple).
Dans votre navigateur web entrez votre adresse (opensourcien.blogdns.org dans ce cas) suivi de :5280/admin pour pouvoir accéder à l'administration de votre serveur XMPP. Le nom d'utilisateur est l'adresse de l'admin (admin@opensourcien.blogdns.org dans ce cas) suivi du mot de passe que vous avez choisi.
Sécurité
Vous pouvez ou non autoriser les utilisateurs à se créer des comptes sur votre serveur. Par défaut, c'est interdit. Pour modifier ça, trouvez les lignes suivantes:
%% To enable in-band registration, replace 'deny' with 'allow'
% (note that if you remove mod_register from modules list then users will not
% be able to change their password as well as register).
% This setting is default because it's more safe.
{access, register, [{deny, all}]}.
Si vous voulez autoriser cette fonctionnalité remplacez "deny, all" par "allow, all"