您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Linux下安装ejabberd支持MSSQL

2025/8/5 5:16:13发布20次查看
一、linux下安装unixodbc、freetds源码包:freetds-0.82.tar.gz、unixodbc-2.3.0.tar.gz1. 安装unixodbcgunzip unixodbc-2.3.t
一、linux下安装unixodbc、freetds
源码包:freetds-0.82.tar.gz、unixodbc-2.3.0.tar.gz
1.  安装unixodbc
gunzip  unixodbc-2.3.tar.gz
tar zxvf unixodbc-2.3.tar
./configure --prefix=/usr/local/unixodbc
make
make install
2.  安装freetds
tar zxvf freetds-0.82.tar.gz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixodbc --with-tdsver=8.0
make
make install
cd /usr/local/unixodbc,向odbc添加sqlserver驱动
# vi etc/odbcinst.ini
写入如下内容:
[odbc]
trace           = yes
tracefile       = /tmp/sql.log
forcetrace      = yes
pooling         = no
[sqlserver]
description     = sqlserver
driver          = /usr/local/freetds/lib/libtdsodbc.so
setup           = /usr/local/freetds/lib/libtds.so
usagecount      = 1
cptimeout       = 5
cpreuse         = 5
fileusage       = 1
添加dsn
# vi etc/odbc.ini
写入如下内容
[ejabberd]
driver          = sqlserver
description     = sqlserver
server          = 192.168.2.159
database        = ejabberd
port            = 1433
odbcinst.ini中的驱动名称,database是数据库的名称
保存并退出。
测试odbc的连接
# bin/isql -v ejabberd sa 111111
sql>
sql> quit
二、   ejabberd修改odbc文件
1.  安装ejabberd二进制包(略)
安装位置为/usr/local/ejabberd
2.  修改ejabberd的odbc文件
进入/usr/local/ejabberd/conf目录
vi odbc.ini
再次添加dsn信息:
[ejabberd]
driver          = sqlserver
description     = sqlserver
server          = 192.168.2.159
database        = ejabberd
port            = 1433
vi odbcinst.ini
再次添加mssql的driver信息:
[odbc]
trace           = yes
tracefile       = /tmp/sql.log
forcetrace      = yes
pooling         = no
[sqlserver]
description     = sqlserver
driver          = /usr/local/freetds/lib/libtdsodbc.so
setup           = /usr/local/freetds/lib/libtds.so
usagecount      = 1
cptimeout       = 5
cpreuse         = 5
fileusage       = 1
注:用二进制安装的包,,ejabberd包内置安装了一部分odbc文件,但是包没有安装完全。
[root@ejabberd bin]# pwd
/usr/local/ejabberd/lib/odbc-2.10.3/priv/linux-x86/bin
[root@ejabberd bin]# ls
odbcserver
ejabberd会调用此文件odbcserver,运行此文件会提示找不到libodbc.so.1
此时我们自己安装的unixodbc位于/usr/local/unixodbc下。
我们做一个软链接即可调用:
ln -s /usr/local/unixodbc/lib/libodbc.so.1 /usr/lib
三、   ejabberd修改配置文件
修改配置文件路径:/usr/local/ejabberd/conf/ejabberd.cfg
1.       验证修改
这个选项值的名字可能被误导, 因为 auth_method 名字用于通过odbc以及通过原生mysql接口访问关系数据库.
把{auth_method, internal}.注释掉。
{auth_method, [odbc]}.
2.  数据库连接
实际的数据库访问使用选项 odbc_server 来定义. 它的值通常用来定义我们是否想使用 odbc, 或两个可用的原生接口之一。
{odbc_server, dsn=ejabberd;uid=sa;pwd=111111}.
3.  存储模块修改
以下几项,在原有基础上加上_odbc
mod_last_odbc、mod_offline_odbc、mod_privacy_odbc、mod_private_odbc、mod_pubsub_odbc、mod_roster_odbc、mod_vcard_odbc 
mod_last_odbc: 最后连接日期和时间
mod_offline_odbc: 离线消息
mod_privacy_odbc: 用户黑名单规则
mod_private_odbc: 私有xml存储
mod_pubsub_odbc:发行-订阅
mod_roster_odbc:名册管理
mod_vcard_odbc:用户的vcard
四、   mssql扩展架构
利用ejabberd-2.1.4.tar.gz源码包odbc自带的mssql2005.sql文件,执行生成表和主键。
五、   其他配置
删除以前的数据库文件,进入/usr/local/ejabberd/database 目录,
删除ejabberd@localhost
新建一个管理员用户,首先./start启动ejabberd
ejabberdctl register admin ejabberd 111111  添加一个用户
将用户加入到管理员进行web管理
{acl, admin, {user, admin, ejabberd}}.
{access, configure, [{allow, admin}]}.
注册用户正常可用。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product