引用地址:
注意: 该地址仅在今日23:59:59之前有效 下载ejabberd
执行下面命令安装ejabberd
gunzip ejabberd-2.1.2-linux-x86_64-installer.bin.gz
./ejabberd-2.1.2-linux-x86_64-installer.bin
按提示安装ejabberd
配置ejabberd支持mysql
填加mysql用户以及数据库
mysql:>create database ejabberd
mysql:>grant all privileges on ejabberd.* to ejabberd@’127.0.0.1′ IDENTIFIED BY ’ejabberd’;
mysql:>grant all privileges on ejabberd.* to ejabberd@’localhost’ IDENTIFIED BY ’ejabberd’;
建立ejabberd数据库中的表
mysql:>source /usr/local/ejabberd/lib/ejabberd-2.1.2/priv/odbc/mysql.sql;
更改/usr/local/ejabberd/conf/ejabberd.cfg文件
注释掉下面这行
{auth_method, internal}.
加入下面的两行
{auth_method, odbc}.
%%{odbc_server,{mysql, "主机",端口,"数据库","用户名","密码"}}. {odbc_server, {mysql, ”localhost”, ”ejabberd”, ”ejabberd”, ”ejabberd”}}.
把下面的注释去掉
%%连接池容量 {odbc_pool_size, 20}.
%%连接保持时间? {odbc_keepalive_interval,30}.
如果不加入以上两行的话,MySQL中的连接池就会在sleep 时间超过wait_timeout的限制后被断开,导致ejabberd不能认证用户。查看
ejabberd.log会出现以下错误:
=ERROR REPORT==== 2010-03-02 10:44:09 ===
E(<0.426.0>:ejabberd_odbc:491) : mysql_conn: Received unknown signal, exiting : {mysql_recv,
<0.427.0>,
closed,
normal}
目前这3个也支持 {mod_privacy, []}, {mod_private, []}, {mod_pubsub,。。。。。。}, 更改模块定义
MySQL:
- Change mod_last to mod_last_odbc to store the last seen date in MySQL.
- Change mod_offline to mod_offline_odbc to store offline messages in MySQL.
- Change mod_roster to mod_roster_odbc to store contact lists in MySQL.
- Change mod_vcard to mod_vcard_odbc to store user description in MySQL.
启动ejabberd
cd /usr/local/ejabberd/bin
./ejabberdctl start |
|
来自: TIDEDOC > 《ejabberd》