Serveur XMPP: Prosody
Rédigé par Xavier - -
Prosody est un serveur XMPP (Jabber) écrit en lua et vraiment très léger (il prend quelques Mo en mémoire seulement). La configuration est plutôt simple.

Le tutoriel suivant sera pour un système Debian.
Exemple
Ici notre serveur est xmpp.local.lan et je parts du principe que les DNS ont cette entrée ou alors que les fichiers hosts sont complétés. Bref, xmpp.local.lan pointe sur l'IP de notre serveur.
Téléchargement et Installation
Vous pouvez télécharger des paquets précompilés sur le site officiel et il n'y a plus qu'à les installer.
Configuration du nom d'hôte et de l'admin
Ouvrez le fichier /etc/prosody/prosody.cfg.lua
Cherchez la ligne:
admins = {
Et indiquez l'adresse de l'administrateur@votre domaine, par exemple: admin@xmpp.local.lan
Dans le paragraphe "----- Virtual hosts -----" vous allez devoir rajouter une entrée correspondant à votre serveur:
VirtualHost "xmpp.local.lan" ssl = { key = "/etc/prosody/certs/xmpp.local.lan.key"; certificate = "/etc/prosody/certs/xmpp.local.lan.cert"; }
Maintenant nous devons générer la clé et le certificat que nous venons de spécifier:
# cd /etc/prosody/certs # openssl req -new -x509 -days 365 -nodes -out "xmpp.local.lan.cert" -keyout "xmpp.local.lan.key"
Attention, vérifiez que votre serveur est bien à l'heure. Si besoin, utilisez ntpdate pour récupérer l'heure depuis internet, et dpkg-reconfigure tzdata pour régler correctement le fuseau horaire.
Créez l'utilisateur administrateur défini tout à l'heure (admin@xmpp.local.lan) avec la commande:
# prosodyctl adduser admin@xmpp.local.lan
Tests
Relancez prosody pour qu'il prenne en compte les nouvelles modifications:
# service prosody restart
Sur une autre machine du réseau, ouvrez votre client jabber favori (Gajim, Pidgin...) et entrez vos paramètres de comptes.
Firewall / NAT
Si vous disposez d'un firewall ou si vous vous connectez à travers internet, vous devez vous assurer d'ouvrir les ports suivants:
- 5222: Client/Serveur (TCP/UDP)
- 5269: Serveur/Serveur (TCP/UDP)
Logs
Ils sont situés dans /var/log/prosody vous pouvez les consulter avec cat ou tail.