centos7.6安装ejabberd19.05并使用MySql

首先,去官网下载ejabberd

https://www.process-one.net/en/ejabberd/archive/

这里我们选择rpm包安装,大家也可以选择其他方式,之所以不用最新的19.08是因为进入管理台页面会显示host not served,我不知道是什么原因,可能是新版需要配置什么东西,由于时间关系,没有研究

 下载完成后,进入Xshell,连接上服务器

控制台进入想放的文件夹,比如/usr/local

cd /usr/local

然后点击ftp按钮,将会打开上传文件的窗口,并自动定位到此文件夹,然后从左边选择下载的rpm包,并拖拽到右边,注意别拖到某个文件夹里面,可以最大化后再拖拽,如果不会使用Xshell和Ftp,请自行百度

上传完了然后就是安装了,在当前目录下执行

yum localinstall xxxxx.rpm

我们使用yum这个软件管理工具的本地安装命令来安装

安装时会列出一堆信息来,让你确认安装,根据提示,输入y,表示确定安装

当我们看到complete,就表示安装完成,期间并没有出现设置host,以及管理员账号密码的步骤,那我们一会儿在配置文件里面改

安装完成了,可是安装到哪儿了呢,其实是安装到了linux的默认软件安装目录下,也就是/opt下,所以我们进入opt

先返回顶级目录

cd /

再进入opt目录

cd /opt

查看里面有什么

ls

会发现  ejabberd  ejabberd-19.05

此时我们可以进入ejabberd下的conf目录

cd ejabberd/conf

查看里面有什么

ls

 会发现有 cacert.pem  dhparams.pem  ejabberdctl.cfg  ejabberd.yml  inetrc  server.pem

而ejabberd.yml就是ejabberd的配置文件了,我们需要打开它看看

vim ejabberd.yml

打开后我们发现第一行就是host,这个是系统随机分配的

language: "en"
hosts:
  - "ijjkklfeiyngljolZ" 

然后我们把光标移动到ijjkklfeiyngljolZ上,按shift 加 # ,会搜索出来里面一共有三处引用这个host的,我们可以把这三处都改成我们自己需要的,改完了保存退出,先按 Esc,再输入 : ,再输入wq就可以了

由于不知道系统分配的admin管理员的密码,我们可以自己再注册一个,首先返回上一级

cd ..

直到返回到/opt,然后我们进入 bin

cd ejabberd-19.05/bin

先启动ejabberd

./start

再执行注册命令

./ejabberdctl register admin1 hostname 123456

admin系统安装软件的时候已经注册过了,我们注册admin1,hostname就是刚刚在配置文件中改的那个hosts

然后将防火墙的5280和5222端口号开启

firewall-cmd --zone=public --add-port=5280/tcp --permanent
firewall-cmd --zone=public --add-port=5222/tcp --permanent

重启防火墙使配置生效

firewall-cmd --reload

然后配置阿里云的安全组规则,开放这两个端口号

此时,或者等几分钟,我们在浏览器输入http://服务器IP:5280/admin,然后再输入我们刚才注册的用户名(用户名格式是admin1@hostname)密码,应该就可以登录后台管理页面了

接下来讲一下如何使用mysql数据库替换掉ejabberd内置的数据库

大致分为三个步骤,就像把大象放到冰箱里面一样

第一步,在mysql软件中为ejabberd创建一个数据库

第二部,在这个数据库中创建出和内置数据库一模一样的一堆表

第三部,在配置文件中指定使用mysql数据库

首先来看第一步,

使用Navicat连接上我们的mysql数据库

然后在根节点右击,选择 新建数据库,输入数据库名称,以及编码,排序规则

创建完成后,开始第二步,创建表

按照官方文档来,去ejabberd的github上下载mysql.sql文件

https://github.com/processone/ejabberd/tree/master/sql

下载完成后,在Navicat中右击刚刚创建的数据库,选择  运行sql文件...

找到刚刚下载的mysql.sql,运行它

成功后,开始第三步

再次进入ejabberd.yml文件,加入以下内容

default_db: sql //指定默认使用sql类型数据库

sm_db_type: sql //指定session manager

sql_type: mysql //指定使用mysql

sql_server: localhost //指定host

sql_port: 3306 //指定端口号

sql_database: ejabberd //指定数据库名称

sql_username: root //数据库管理员名字

sql_password: 123456 //数据库管理员密码

复制代码如下

default_db: sql
sm_db_type: sql
sql_type: mysql
sql_server: "server.company.com"
sql_port: 3306
sql_database: "mydb"
sql_username: "user1"
sql_password: "**********"

然后保存退出,此时我们需要重启ejabberd,然后再重新注册管理员admin

进入bin目录下执行

./ejabberdctl register admin hostname 123456

然后我们打开Navicat看一下mysql的ejabberd数据库的users表中是不是多了一条,先刷新一下这个表

如果多了一条,那证明我们现在使用的是mysql了 ,可以用这个用户名密码登录web管理台了

按理说安装ejabberd会让我设置host,admin密码的,我在windows上安装是有这个步骤的,但是到了cenos上没有,我也不知道为什么,如有错误之处欢迎指正

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值