在Ubuntu上安裝與配置ejabberd

1. 安裝

    執行apt-get install ejabberd也可登錄官網https://www.process-one.net下載軟件包安裝。


2. 啓停服務

    ejabberdctl restart / stop /start / stop / status

注:有時使用ejabberdctl start啓動時會有“Failed RPC connectionto the node ejabberd@ubuntu12: nodedown”之類的報錯,此時可從/etc/init.d/ejabberd start啓動。


3. 創建用戶

3.1 使用命令註冊用戶

例如要在localhost上註冊用戶“user1”,密碼爲“123456”:

    ejabberdctl register user1localhost 123456

 

3.2 修改配置文件

編輯文件/etc/ejabberd/ejabberd.cfg,在

 %% Admin user

{acl, admin,{user, "", "localhost"}}.

後(約第57行)添加

{acl, admin, {user, "user1","localhost"}}.

{access, configure, [{allow, admin}]}.

 

3.3 重啓

    ejabberdctl restart

 

3.4 訪問管理界面

用瀏覽器訪問http://192.168.10.142:5280/admin,用戶名爲user1@localhost,密碼爲123456。登錄後界面如下圖所示:

wKiom1XKMPmTirfAAAIP9XGhOG4546.jpg

 

4 連接Mysql

4.1 mysql中創建數據庫和用戶

create database ejabberd default character set utf8 collate utf8_general_ci;

grantall privileges on ejabberd.* to ej_user@'localhost' identified by 'ej123456';

 

4.2 初始化數據庫

通過apt-get安裝的ejabberd不帶有數據庫初始化腳本,若是手動安裝,則mysql腳本位於ejabberd/lib/ejabberd/priv/sql/mysql.sql。也可直接從https://github.com/processone/ejabberd/blob/master/sql/mysql.sql下載該腳本。

用以下命令導入數據

mysql -u ej_user -p ejabberd < mysql.sql

此時可能會出現這個錯誤:

ERROR 1214 (HY000) at line 99: The usedtable type doesn't support FULLTEXT indexes

原因爲mysql 5.5不支持全文索引,將該表的存儲引擎改爲MyISAM可解決該問題。

 

4.3 修改配置文件

修改文件/etc/ejabberd/ejabberd.cfg

註釋{auth_method,internal}.

取消註釋{auth_method,odbc}.

取消註釋並修改數據庫連接信息{odbc_server, {mysql, "server","database", "username", "password"}}.

修改模塊,大約從579行開始,在原模塊後增加_odbc,如:

{mod_last_odbc,

{mod_offline_odbc,

{mod_privacy_odbc,

{mod_private_odbc,

{mod_pubsub_odbc,

{mod_roster_odbc,

{mod_vcard_odbc,

 

4.4 編譯Mysql模塊

ejabberd默認沒有mysql模塊,需手動編譯,否則在啓動時將出現以下報錯:

=ERROR REPORT==== 2015-08-11 23:55:24 ===

C(<0.684.0>:ejabberd_check:63) : ejabberd is configured to use 'mysql', but the following Erlang modules are not installed: '[mysql,                     


mysql_auth,

mysql_conn,

mysql_recv]'

=INFO REPORT==== 2015-08-11 23:55:24 ===

    application: ejabberd

    exited: {bad_return,{{ejabberd_app,start,[normal,[]]},

                         {'EXIT',database_module_missing}}}

    type: temporary

 

https://svn.process-one.net/ejabberd-modules/mysql/trunk/下載模塊的源碼,使用命令erlc  *.erl編譯src中的模塊,將得到mysql_auth.beammysql.beammysql_conn.beammysql_recv.beam四個文件,將其放入/usr/lib/ejabberd/ebin/中,將能正常啓動ejabberd

 

4.5 添加用戶

使用如下命令添加用戶

ejabberdctl register rootlocalhost 123456

用瀏覽器訪問http://192.168.10.142:5280/admin,用戶名爲root@localhost,密碼爲123456


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章