2010-11-16 82 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