流水不争先,争的是滔滔不绝

Centos下安装配置IM服务器Ejabberd

未分类 云聊IM 1080℃

简介

Ejabberd是基于Jabber/XMPP协议的即时通讯服务器,由GPLv2授权,采用Erlang/OTP开发。它的特点是,跨平台,容错,集群和模块化。
Ejabberd目前是可扩展性最好的一种Jabber/XMPP服务器,支持分布多个服务器,并且具有容错处理,单台服务器失效不影响整个cluster运作。
本文介绍如何在centos上安装Ejabberd和配置MySQL数据库。

1、获取安装包

wget  http://www.process-one.net/downloads/ejabberd/2.1.13/ejabberd-2.1.13-linux-x86_64-installer.run

2、给予安装包权限

chmod +x ejabberd-2.1.13-linux-x86_64-installer.run

3、开始安装

./ejabberd-2.1.13-linux-x86_64-installer.run 
Please select the installation language
[1] Dutch - Nederlands
[2] English - English
[3] French - Français
[4] German - Deutsch
[5] Russian - Русский
[6] Simplified Chinese - 简体中文
[7] Spanish - Español
.....

输入数字选择语言,然后是安装需要接受的协议之类的,一直enter就是了。最后一定要y确认接受,不然无法完成安装。

协议确认.png

然后就是安装路径的选择,这里我选择默认设置,有需要修改的请自行输入相应路径。

安装路径.png

确认完路径后需要设置域,这时输入ip地址就行了

服务器地址.png

接下来就设置好管理员用户名和密码,最后输入y确认安装,坐等安装完成就行了。

管理员名称.png

密码.png

确认安装.png

安装完成后进入安装路径,里面的bin目录,执行

 ./start

来开启服务。服务启动后就可以通过浏览器输入地址来进行管理了。
在浏览器输入:http://ip:5280/admin
使用安装时候设置的用户名和密码即可登录进去。

以上步骤安装完成也算是可以使用了,windows上可以下载安装spark进行测试功能是否正常,安装包可以到官网下载,本文提供一个资源链接方便读者进行下载测试。

Ejabberd默认安装后使用的是自带的数据库来存储数据的,虽然能用,但是因为我的项目原有的数据库使用的是MySQL,为了方便数据管理,就需要将Ejabberd的数据库配置为MySQL,具体方法也不复杂,很好实现。

1、MySQL的安装配置

这一步就不做详细说明了,MySQL的安装配置网上也有很多教程,一般不会出现无法解决的问题,如果你的服务器安装了面板,也可以通过面板进行安装配置,本文使用了MySQL5.7.

ps:一开始我是用的MySQL5.5的,后面导入.sql文件的时候提示了个错误,里面的有个字段在5.5不支持,所以建议还是使用5.5以上的版本.

2、创建数据库

创建一个名为ejabberd的数据库,当然也可以自己命名,后面的配置对应上就行了,然后去下载.sql文件,这里给个GitHub连接,下载里面的sql文件夹的mysql.sql,导入数据库,怎么导入可以使用命令行,也可以在Windows上安装Navicat连接到远程数据库进行图形化的操作,对于不熟悉MySQL命令行操作的人可能会相对友好点。

3、修改ejabberd配置文件

进入ejabberd安装文件的conf文件夹,打开ejabberd.cfg,centos上如果你安装的是有图形化桌面的系统,就直接用文件编辑器打开就行,如果是使用的服务器,可以通过安装面板进行操作,或者直接把文件取到Windows下修改完成在ftp上去覆盖,具体操作请自行选择。

具体修改的地方如下:

注释掉: {auth_method, internal}. 

取消注释:{auth_method, odbc}.

并添加:{odbc_server, {mysql, "localhost", "ejabberd", "root", "root"}}.

ejabberd是数据库名,填入你上面创建的数据库,root为数据库用户名和密码,填写自己的即可。

然后找到modules闭包下的内容,修改一下mod,在后面追加_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文件进行修改:

[ejabberd]
Driver      = MySQL 
DATABASE    = ejabberd
PWD     = 123456 
SERVER      = localhost
SOCKET      = /tmp/mysql.sock
UID     = ejabberd

修改DATABASE为上面创建的数据库名,密码对应。

保存好之后到安装目录下bin重启下服务器

4、注册管理员用户

因为数据库更换了,所以安装ejabberd的时候配置的管理员是不能用了,所以得重新注册,在命令行窗口执行注册命令即可

ip记得改为自己的服务器ip,前后的是用户名和密码。现在就将数据库改为MySQL了,接下来就是愉快的折腾了,接下来还会写一篇怎么做一个Android的App还有web端进行多端的互相通信.

版权声明:部分文章、图片等内容为用户发布或互联网整理而来,仅供学习参考。如有侵犯您的版权,请联系我们,将立刻删除。
点击这里给我发消息