我正在尝试为我的ejabberd服务器设置消息存档.我试图在链接http://lboynton.com/2009/11/25/ejabberd-mod_archive-with-mysql-on-ubuntu/之后添加新模块mod_archive .之后,我无法重新启动ejabberd服务器并在ejabberd.log中给出以下错误
= ERROR REPORT ==== 2010-11-16 12:44:41 === E(<0.38.0>:ejabberd_rdbms:67):主管ejabberd_odbc_sup_localhost启动失败:{error,{shutdown,{child,undefined, ejabberd_odbc_sup_localhost,{ejabberd_odbc_sup,start_link,["localhost"]},transient,infinity,supervisor,[ejabberd_odbc_sup]}}}
谢谢,
Sathi.
小智 6
关于Ejabberd中mod_archive的所有互联网教程都是不完整或非常重要的.或者可能是旧的.所以我的问题是我正在使用Ubuntu 12.04服务器LTS与Mysql.我做了所有博客中解释的所有事情.
所以要安装mod_archive我需要这样做:
典型的:
svn co https://svn.process-one.net/ejabberd-modules
cd ejabberd-modules/mod_archive/trunk
./build.sh
cp ebin/*modules in EJABBERD
Run Code Online (Sandbox Code Playgroud)
并配置 /etc/ejabberd.cfg
但是使用这种方法EJABBERD不起作用.
所以我发现我们需要编译其他任何网站都没有解释过的MODULE.该模块称为CONN_MYSQL
我们可以使用相同的ejabber模块下载.所以在SVN(https://svn.process-one.net/ejabberd-modules)中有
cd ejabberd-modules/mysql/trunk
./build.sh
cp ebin/*modules in EJABBERD
Run Code Online (Sandbox Code Playgroud)
和工作.....
我需要花很多时间才能发现这一点.
我无法在ejabberd.cfg中使用此行配置:{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}因为aplication崩溃并说:
=ERROR REPORT==== 2012-11-28 18:01:08 ===
E(<0.437.0>:mod_archive_odbc:867) : should_store_jid failed: {xmlelement,
"error",
[{"code","500"},
{"type",
"wait"}],
[{xmlelement,
"internal-server-error",
[{"xmlns",
"urn:ietf:params:xml:ns:xmpp-stanzas"}],
[]}]}
Run Code Online (Sandbox Code Playgroud)
所以我在ejabberd.cfg中使用这一行:{odbc_server,{mysql,"server","database","username","password"}}.
并将此行纳入模块配置:
{mod_archive_odbc, [{database_type, "mysql"}, {default_auto_save, true}, {enforce_default_auto_save, true}]},
Run Code Online (Sandbox Code Playgroud)
所以现在有效!
如果我使用,我不会记得
trunk或者branches/ejabberd-2.0.x在Emakefile中.你可以尝试一个,如果不行,你可以试试另一个.
啊! 并重新编译
./configure --enable-odbc the ejabberd source code.
Run Code Online (Sandbox Code Playgroud)
你可以得到这个
wget http://www.process-one.net/en/ejabberd/ejabberd/2.1.11/ejabberd-2.1.11.tgz
Run Code Online (Sandbox Code Playgroud)
也许有必要这个包:
apt-get install iodbc libmyodbc
Run Code Online (Sandbox Code Playgroud)