Services XMPP supplémentaires pour Metronome

Logo de 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 : 03/02/2014.


Metronome est un serveur XMPP. À la fin de son installation, nous sommes restés sur un fichier de configuration basique ne permettant que la création de comptes XMPP et 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.

Version de Metronome utilisée : 3.3.9

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"

metronome_max_files_soft = 200000
metronome_max_files_hard = 200000

use_libevent = true;

modules_enabled = {
		"saslauth";
		"tls";
		"dialback";
		"disco";
		"version";
		"uptime";
		"time";
		"ping";
		"posix";
};

disco_items = {
      { "conference.FQDN.TLD" },
      { "vjud.FQDN.TLD" },
      { "pubsub.FQDN.TLD" }
};

allow_registration = false;

ssl = {
	key = "/usr/local/etc/metronome/certs/FQDN.TLD.key";
	certificate = "/usr/local/etc/metronome/certs/FQDN.TLD.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 "FQDN.TLD"
	enabled = true

	modules_enabled = {
			"roster";
			"vcard";
			"private";
			"pep";
			"register";
	};

	allow_registration = true

VirtualHost "anonym.FQDN.TLD"
	enabled = true
	authentication = "anonymous"
	allow_anonymous_multiresourcing = true
	allow_anonymous_s2s = true
	anonymous_jid_gentoken = "Jabber Anonymous User"
	anonymous_randomize_for_loopback = true

Component "conference.FQDN.TLD" "muc"
	name = "Salons de discussion"

	modules_enabled = {
		"muc_limits";
	}

	muc_event_rate = 0.5
	muc_burst_factor = 10

Component "vjud.FQDN.TLD" "vjud"
	ud_disco_name = "Répertoire d'utilisateurs"
	synchronize_to_host_vcards = "FQDN.TLD"

Component "pubsub.FQDN.TLD" "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.

Vus : 482
Publié par Cyprien Pouzenc : 27