拒绝垃圾文章 在 ejabberd 中使用 MySQL
为了扩展ejabberd所以数据库上面采用MySql来实现
但是搜索网上的文章其实都很多都是垃圾,应该是写的人就是没有进行测试
1:没有说数据库脚本哪里下载
2:没有说明如何配置ejabberd.cfg,特别没说到配置数据库的话,一定要去配置odbc.ini
3:没有说明如何建议管理员账号
吐槽完了,开始放料
服务器为CentOS6.6
在命令行下载Ejabberd安装包
wget http://www.process-one.net/downloads/ejabberd/2.1.13/ejabberd-2.1.13-linux-x86_64-installer.run
下载完后因为是.run文件包,所以要进行加权限
chmod 755 ejabberd-2.1.13-linux-x86_64-installer.run
然后进行运行
./ejabberd-2.1.13-linux-x86_64-installer.run
会进行安装界面,安装过程填写的“域名”和“管理员”与“用户密码”要记得
最后运行后,可以试一下登录进管理,看是否安装成功
成功说明ejabberd的原版安装成功
下面介绍如何用MySQL
首先要下载MySQL脚本
可以去git上下载,地址为:https://github.com/processone/ejabberd 里面有sql文件夹,然后下载mysql.sql脚本
安装MySQL和创建一个IM数据库运行当前脚本进行导入,这个步骤不会的请Google其他文章
进入ejabberd安装文件的conf文件夹,
打开ejabberd.cfg
注释掉: {auth_method, internal}.
取消注释:{auth_method, odbc}.
并添加:{odbc_server, {mysql, "localhost", "im", "root", "root"}}.
特别注意数据库那行的颜色是不是显示文字高亮,我原来复制进去的,ejabberd启动报那这一行格式有错,后来再后打进去的
搜索:modules
把他下面配置这些参数后面加上:"_odbc"
{mod_last_odbc, []}, {mod_offline_odbc, []}, {mod_privacy_odbc, []}, {mod_private_odbc, []}, {mod_pubsub_odbc, [ % requires mod_caps ... {mod_roster_odbc, []}, {mod_vcard_odbc, []},
保存配置好后可时要配置odbc.ini文件
数据库配置好后,到bin下用命令行注册管理员账号
特别重要,注意管理员账号(注意管理员域和密码必须为安装时候的)
./ejabberdctl register admin ava.com.cn admin
然后运行
./start
登录账号为标示红框的地址,安装的实际配置不同
登录进去后进入“Virtual Hosts” 中在Users中添加几个用户
最后在MySQL查看,发现添加的用户已经在这里了
如果配置过程中有什么异常的话,一定要学会查看出错日志