1. 安裝node
執行apt-get install ejabberd,也可登陸官網https://www.process-one.net下載軟件包安裝。mysql
2. 啓停服務git
ejabberdctl restart / stop /start / stop / statusgithub
注:有時使用ejabberdctl start啓動時會有「Failed RPC connectionto the node ejabberd@ubuntu12: nodedown」之類的報錯,此時可從/etc/init.d/ejabberd start啓動。sql
3. 建立用戶數據庫
3.1 使用命令註冊用戶ubuntu
例如要在localhost上註冊用戶「user1」,密碼爲「123456」:瀏覽器
ejabberdctl register user1localhost 123456app
3.2 修改配置文件ide
編輯文件/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。登陸後界面以下圖所示:
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.beam、mysql.beam、mysql_conn.beam、mysql_recv.beam四個文件,將其放入/usr/lib/ejabberd/ebin/中,將能正常啓動ejabberd。
4.5 添加用戶
使用以下命令添加用戶
ejabberdctl register rootlocalhost 123456
用瀏覽器訪問http://192.168.10.142:5280/admin,用戶名爲root@localhost,密碼爲123456。