2010-11-16 84 views
2

我正在尝试为我的ejabberd服务器设置消息归档。我试图在链接http://lboynton.com/2009/11/25/ejabberd-mod_archive-with-mysql-on-ubuntu/后添加新模块mod_archive。之后,我无法重新启动ejabberd服务器,并给我以下错误ejabberd.logejabberd服务器mod_archive模块

=错误报告==== 2010-11-16 12:44:41 === E(< 0.38。 0>:ejabberd_rdbms:67):主管开始ejabberd_odbc_sup_localhost失败: {错误,{关机,{子,未定义ejabberd_odbc_sup_localhost, {ejabberd_odbc_sup,START_LINK,[ “本地主机”]}, 瞬态,无穷大,主管, [ ejabberd_odbc_sup]}}}

谢谢,

Sathi。

回答

6

有关Ejabberd mod_archive所有网上的教程是不完整的或非常caotics。或者也许是老的。所以我的问题是我使用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 

和配置/etc/ejabberd.cfg

但这种方法EJABBERD不起作用。

所以我发现我们需要编译其他MODULE,这些MODULE在任何站点都没有解释。该模块被称为CON​​N_MYSQL

而我们可以在相同的ejabber模块下载。因此,在SVN(https://svn.process-one.net/ejabberd-modules)有

cd ejabberd-modules/mysql/trunk 
./build.sh 
cp ebin/*modules in EJABBERD 

和工作.....

我需要很多的时间去发现这一点。

我不能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"}], 
                   []}]} 

于是我就用这条线在ejabberd.cfg: {odbc_server,{mysql的,“服务器“,”数据库“,”用户名“,”密码“}}。

这行到模块的配置:

{mod_archive_odbc, [{database_type, "mysql"}, {default_auto_save, true}, {enforce_default_auto_save, true}]}, 

所以现在的作品!

如果我使用Emakefile

trunkbranches/ejabberd-2.0.x我不remmember。你可以尝试一个,如果不行,你可以尝试另一个。

啊!和remmember与

./configure --enable-odbc the ejabberd source code. 

编译您可以在

wget http://www.process-one.net/en/ejabberd/ejabberd/2.1.11/ejabberd-2.1.11.tgz 

得到这也许是必要的这个包:

apt-get install iodbc libmyodbc 
+0

嗨,如果我跑./bulid.sh得到错误:〜/ejabberd-modules/mod_archive/trunk $ ./build.sh {“init终止于do_boot”,{undef,[{make,all,[]},{init,start_it,1},{init,start_em,1 }]}}。请帮忙 Cras h dump被写入:erl_crash.dump init终止于do_boot() – Karthik 2014-01-08 09:29:43

+0

@JamesVo您错过了erlang工具的debian软件包。 – beshkenadze 2014-09-23 12:59:18