Prosody

De Goffiwiki.

Cette page donne quelques informations ou astuces concernant le serveur XMPP Prosody.

Base

Dépôt Mercurial: http://hg.prosody.im/trunk

Fichier config par défaut : prosody.cfg.lua

Modules

Dépôt Mercurial: https://code.google.com/p/prosody-modules

MAM

Le module « mod_mam » implémente MAM. Il ne s'occupe que des messages entre deux utilisateurs, pour utiliser MAM avec des MUCs il faut utiliser « mod_mam_muc ». Il n'y a pas encore de module « mod_mam_pubsub ».

Instructions pour « mod_mam »: https://code.google.com/p/prosody-modules/wiki/mod_mam

Il faut donc copier le répertoire du module dans le répertoire « plugins » de Prosody et éditer le fichier config de Prosody :

 modules_enabled = {
         -- ...
         "mam",
         -- ...
 }
 storage = {
         -- This makes mod_mam use the sql2 storage backend (others will use internal)
         archive2 = "sql2";
 }

Complément d'information :

  • « archive2 » est le nom du système de sauvegarde utilisé par le module. Dans « mod_mam.lua » on trouve en effet :
 local archive_store = "archive2";
  • « sql2 » désigne un type de sauvegarde qu'il faut déclarer plus loin dans le fichier config. Par exemple :
 sql2 = { driver = "SQLite3", database = "prosody.sqlite" }

Ici le fichier « prosody.sqlite » sera automatiquement créé dans le répertoire « data » de Prosody. Il est partagé par tous les « VirtualHosts ».

  • Par défaut, le module n'archive aucun message. Toujours dans le fichier config il faut rajouter :
 default_archive_policy = true;

ou bien

 default_archive_policy = "roster";

Remarque : « true » n'est pas entre parenthèse. Vous pourriez les lui mettre, ça ne changerait rien, mais il y a par contre une différence entre « false » et « "false" ». En effet, toute chaine de caractère non-vide et différente de la seule valeur particulière connue du module (« roster ») serait interprétée comme « true ».

  • Et pour régler le nombre maximum de messages qui sera renvoyé par archive :
 max_archive_query_results = 10;