Services XMPP supplémentaires pour Metronome

Cet article est le deuxième d'une série de trois :

  1. Installation du serveur XMPP Metronome
  2. Services XMPP supplémentaires pour Metronome
  3. Configuration du service BOSH de Metronome

Dernière mise à jour de l'article : 31/10/2015.


Metronome est un serveur XMPP. À la fin de son installation, nous sommes restés sur un fichier de configuration basique ne permettant que l'utilisation de la discussion instantanée. XMPP peut faire bien plus. Il est notamment possible d'héberger des salons de discussion, d'y autoriser des utilisateurs anonymes, de stocker des données...

Logo de Metronome
Logo de Metronome

Certaines de ces fonctionnalités sont indispensables au déploiement de réseaux sociaux complets basés sur XMPP. Je vais ici présenter succinctement l'activation de ces services, via les composants PubSub (Publish Subscribe), MUC (Multi-User Chat) et vJUD (virtual Jabber User Directory), ainsi que la configuration d'un hôte virtuel permettant l'utilisation de comptes anonymes.

Configuration du serveur DNS

Même si ces services sont hébergés sur la même machine que le serveur XMPP, il peut s'avérer commode de leur créer des enregistrements CNAME spécifiques. Chez moi, ça ressemble à ceci :

pubsub	86400	CNAME	xmpp
vjud	86400	CNAME	xmpp
anonym	86400	CNAME	xmpp
conference	86400	CNAME	xmpp

Configuration de Metronome

Une fois le serveur DNS configuré, reste à activer les services souhaités. Pour ce faire, il faut commencer par se connecter à la machine hébergeant le serveur XMPP. Les étapes suivantes sont énoncées ci-dessous.

Se connecter en super-utilisateur :

su -

Configurer Metronome :

vim /usr/local/etc/metronome/metronome.cfg.lua

Une fois ajoutés les paramètres spécifiques à ces services (en surbrillance ci-après), le fichier de configuration de Metronome ressemble à ceci :

pidfile = "/var/run/metronome/metronome.pid";
 
modules_enabled = {
    "saslauth";
    "tls";
    "dialback";
    "disco";
    "version";
    "uptime";
    "time";
    "ping";
    "posix";
};

disco_items = {
    { "conference.EXAMPLE.COM" },
    { "vjud.EXAMPLE.COM" },
    { "pubsub.EXAMPLE.COM" }
};
 
ssl = {
    key = "/usr/local/etc/metronome/certs/xmpp.EXAMPLE.COM.key";
    certificate = "/usr/local/etc/metronome/certs/xmpp.EXAMPLE.COM.cert";
};
 
c2s_require_encryption = true;
c2s_require_encryption = true;
 
authentication = "internal_hashed";
 
log = {
    info = "/var/log/metronome/metronome.log";
    error = "/var/log/metronome/metronome.err";
};
 
VirtualHost "EXAMPLE.COM"
    enabled = true;
 
    modules_enabled = {
        "roster";
        "vcard";
        "private";
        "blocklist";
        "pep";
        "register";
    };
 
    allow_registration = false;

VirtualHost "anonym.EXAMPLE.COM"
	enabled = true;
	authentication = "anonymous";
	allow_anonymous_multiresourcing = true;
	allow_anonymous_s2s = true;
	anonymous_randomize_for_loopback = true;

Component "conference.EXAMPLE.COM" "muc"
	name = "Salons de discussion";
    restrict_room_creation = "local";

	modules_enabled = {
        "muc_limits";
	};

	muc_event_rate = 0.5;
	muc_burst_factor = 10;

Component "vjud.EXAMPLE.COM" "vjud"
	ud_disco_name = "Répertoire d'utilisateurs";
	synchronize_to_host_vcards = "EXAMPLE.COM";

Component "pubsub.EXAMPLE.COM" "pubsub"
	name = "Service de publication/souscription";

Enfin, redémarrer Metronome :

service metronome restart

Le serveur XMPP devrait désormais permettre l'exploitation des services annoncés. Il est maintenant prêt à servir de base au déploiement de véritables réseaux sociaux !

Pour ce faire, il reste néanmoins encore une étape à accomplir : activer le service BOSH.

Options du module MUC : www.prosody.im/doc/modules/mod_muc
Options spécifiques à Metronome : www.lightwitch.org/metronome/documentation/configuration

Article sous licence Creative Commons BY-SA 3.0 France.

Publié le

Lundi 23 septembre 2013 à 16h06

Ajouter un commentaire

HTML filtré

  • Balises HTML autorisées : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <p>
  • Textual smiley will be replaced with graphical ones.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Texte brut

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Flux RSS des commentaires de cet article.