tuto:ipasserelle:divers:ejabberd_advanced

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
tuto:ipasserelle:divers:ejabberd_advanced [19/01/2011 10:30]
dani [Configurer mod_archive]
tuto:ipasserelle:divers:ejabberd_advanced [20/01/2011 23:28]
dani [HTTP bind et HTTP poll]
Ligne 64: Ligne 64:
 %  {mod_xmlrpc,[{port, 4560},{timeout, 5000}]}, %  {mod_xmlrpc,[{port, 4560},{timeout, 5000}]},
   {mod_version,    []},   {mod_version,    []},
-  {mod_ctlextra,    []},+  {mod_admin_extra,    []},
 HERE HERE
     $OUT .= '  {mod_http_bind, []},'."\n" if (${'ejabberd'}{'HTTPBind'} || 'disabled') eq 'enabled';     $OUT .= '  {mod_http_bind, []},'."\n" if (${'ejabberd'}{'HTTPBind'} || 'disabled') eq 'enabled';
Ligne 281: Ligne 281:
 </code> </code>
  
-Puis, il faut créer une base de donnée mysql et y ajouter le schéma nécessaire:+Puis, il faut créer une base de donnée mysql et y ajouter le schéma nécessaire. Il faut également modifier mysql pour qu'il écoute sur un socket réseau, et activer InnoDB
 <code bash> <code bash>
 +db configuration setprop mysqld LocalNetworkingOnly no InnoDB enabled
 +expand-template /etc/my.cnf
 +sv t /service/mysqld
 openssl rand -base64 40 > ejabberd.pw openssl rand -base64 40 > ejabberd.pw
 chmod 600 ejabberd.pw chmod 600 ejabberd.pw
Ligne 317: Ligne 320:
 EOF EOF
 </code> </code>
 +
 +===== Utiliser MySQL comme backend (à la place de mnesia) =====
 +La base de donnée par défaut utilisée par ejabberd est mnesia. MySQL a quelques avantages, en terme de performances, de facilité d'administration, de sauvegarde etc... On va donc modifier la configuration d'ejabberd pour utiliser une base mysql comme backend
 +
 +==== Créer la base de donnée ====
 +Si ce n'est pas déjà fait, il faut créer la base de donnée (voir section mod_archive)
 +
 +==== Import du schéma dans la base ====
 +On va maintenant insérer le schéma mysql dans la base:
 +<code bash>
 +mysql ejabberd < /usr/share/doc/ejabberd-modules-0.1/mysql.sql
 +</code>
 +
 +==== Migrer les données depuis la base mnesia ====
 +Si le serveur ejabberd a déjà utilisé (pas une nouvelle installation), il faut migrer les données depuis la base mnesia vers mysql.
 +
 +<code bash>
 +mkdir /tmp/mnesia
 +chown root:ejabberd /tmp/mnesia
 +chmod 770 /tmp/mnesia
 +ejabberdctl export2odbc $(db configuration get DomainName) /tmp/mnesia
 +for FILE in /tmp/mnesia/*.txt; do
 +  mysql ejabberd < $FILE
 +done
 +</code>
 +==== Configurer ejabberd ====
 +
 +Il ne reste qu'à remplacer les modules suivants par leur équivalent, en ajoutant le préfixe _odbc
 +
 +  * mod_archive_odbc
 +  * mod_last_odbc
 +  * mod_offline_odbc
 +  * mod_privacy_odbc
 +  * mod_private_odbc
 +  * mod_pubsub_odbc (semble avoir des problème pour l'instant, avec ejabberd 2.1.6, donc, on laisse en mnesia)
 +  * mod_roster_odbc
 +  * mod_vcard_odbc
 +
 +
  
  • tuto/ipasserelle/divers/ejabberd_advanced.txt
  • Dernière modification: 12/07/2012 22:54
  • de dani