始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

Linux下安装ejabberd支持MSSQL

发布时间:  2012/9/21 17:23:03

一、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}]}.

注册用户正常可用。

 


本文出自:亿恩科技【www.enkj.com】

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线