当前位置: 首页 > 工具软件 > ejabberd > 使用案例 >

ejabberd mysql 搭建配置_转:使用Ejabberd搭建IM环境

黄英韶
2023-12-01

下载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, ”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}

更改模块定义

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.

 类似资料: