Ejabberd+Mysql5.5在windows64位下的配置
開始先來吐槽下,我裝的時候內心一萬匹草泥馬在奔騰,網上資料各種不完整有木有,我還在Ubuntu下搭建了環境,開始以爲很簡單,之後覺得更加蛋疼有木有。而在windows下,因爲我裝的是mysql6.0,竟然在日誌文件中報了MySQL version not supported這種蛋疼的問題,然後只能換臺機子裝了,如果啓動的時候有問題可以去看C:\Users\Administrator\AppData\Roaming\ejabberd\logs\ejabberd.log文件。作爲一個渣渣,我記下了我的安裝過程,如果大家按照步驟不成功,就默默的憂傷Google吧。
1.首先下載ejabberd,windows下的最新版本爲2.1.11。下載地址:http://www.process-one.net/downloads/ejabberd/2.1.11/ejabberd-2.1.11-windows-installer.exe
2.自動安裝ejabberd,默認下一步就行,也可以看心情改。鄙人就把ejabberd服務器域名改爲localhost,管理員用戶名隨意寫,密碼也隨意,下一步直到完成。安裝完成後桌面上會有兩個文件,啓動ejabberd和停止ejabberd,是人都知道怎麼用了吧。
3.配置ejabberd/conf 目錄下的ejabberd.cfg文件進行修改,
{acl, admin, {user, "admin", "localhost"}}.
後面加入{access, configure, [{allow, admin}]}.
註釋{auth_method, internal}.
{auth_method, odbc}.取消這句註釋
在{odbc_server, {mysql, "server", 1234, "database", "username", "password"}}.
後面加入{odbc_server, {mysql, "localhost","ejabberd", "root", "123456"}}.
Server是服務器,端口號可寫可不寫,之後依次爲數據庫名,mysql賬號和密碼.
之後分別在Modules模塊中的mod_last,mod_offline,mod_privacy,mod_private,mod_pubsub,mod_roster,mod_vcard的後面加入_odbc例如mod_last_odbc,
mod_last_odbc: 最後連接日期和時間
mod_offline_odbc: 離線消息
mod_privacy_odbc: 用戶黑名單規則
mod_private_odbc: 私有XML存儲
mod_pubsub_odbc:發行-訂閱
mod_roster_odbc:名冊管理
mod_vcard_odbc:用戶的VCARD
4.修改相同目錄下的odbc.ini文件,將PWD改爲123456,鄙人圖方便- 0 -,密碼都習慣123456。
5.打開ejabberd/logs目錄下的install.log文件看到如下信息
根據此信息查找C:\Users\Administrator\AppData\Roaming\ejabberd文件對/conf裏面的ejabberd.cfg和odbc.ini文件進行3,4步驟的修改,刪除/database下的文件。
6.配置mysql5.5,打開mysql命令行,依次執行
mysql> CREATE DATABASE ejabberd;
mysql> GRANT ALL ON ejabberd.* TO 'ejabberd'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>use ejabberd;
mysql>source D:/Program Files (x86)/ejabberd-2.1.11/lib/ejabberd-2.1.11/priv/sql/mysql.sql;
mysql.sql文件裏面有個錯誤,將SET table_type=InnoDB;這句話註釋,但是如果在命令行下操作,不影響結果。
mysql>show tables; //顯示ejabberd下的表,
7.啓動ejabberd,因爲把database下的文件刪了所以沒有數據,我們要重新註冊一個放在mysql數據庫裏,開始->運行cmd ,輸入
然後輸入 ejabberdctl register admin localhost 123456 回車。
就可以用賬號admin@localhost 密碼123456登陸了。
在數據庫中