Services XMPP supplémentaires pour Metronome
Cet article est le deuxième d'une série de trois :
- Installation du serveur XMPP Metronome
- Services XMPP supplémentaires pour Metronome
- 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...
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.