Maniatux's Blog

Welcome to the internet

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.

Classé dans : Sysadmin - Mots clés : aucun