OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统

最近闲来无事,于是就想搞一个完全属于自己的聊天app,然后拿来和老婆一块使用,想要加什么功能就加什么功能,想想也是很有意思,于是下面就是本猿在搭建服务器时历经的九九八十一难(新版本几乎木有参考文档,泪奔~~~)。

工欲善其事必先利其器,古人说的话总是很有道理,于是乎首先安装win7虚拟机,不错,由于我使用的是mac所以得先安装虚拟机,虽然mac也可以搭建openfire服务器,但据说很不稳定(相对于windows来说),使用mac的小伙伴可以安装Parallels Desktop(mac平台上的神器,强烈推荐,需要的小伙伴可以私我,由于版权问题就不发了), 附上win7原版镜像http://pan.baidu.com/s/1bHOOii,搞定后就开始搭建工作啦!

首先在本地搭建好MySQL环境,使用的是最新的MySQL版本,附上地址http://pan.baidu.com/s/1slLEo3r(我只下载了64位的版本,32位的请到官方下载http://dev.mysql.com/downloads/mysql/,话说官方下载的速度犹如蜗牛),直接解压就可以用,然后在环境变量PATH中追加上MySQL的bin文件路径,比如C:\Program Files\MySQL\bin,配置完变量后更改my-default.ini的名称为my.ini,切记,这个文件本身就是.ini格式的,所以我们只需改名为my即可,不要追加.ini,打开后把mysqld下的三个配置注释去掉并添加自己的mysql路径和data路径(最新的5.7.17没有data文件夹,自己新建一个即可):

  basedir = C:\Program Files\MySQL\mysql
  datadir = C:\Program Files\MySQL\mysql\data
  port = 3306

使用管理员权限打开cmd切换到MySQL安装目录,然后输入命令

mysqld install mysql --defaults-file="c:\mysql\my.ini"

木有出错的情况下就已经成功安装了MySQL服务了,再执行以下命令:

net start mysql

成功界面

Paste_Image.png

试试登录MySQL

mysql -u root -p
OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第1张图片
Paste_Image.png

接下来我们修改一下密码:

SET PASSWORD FOR 'root'@'localhost'=PASSWORD('新密码')
Paste_Image.png

更改密码大功告成!

创建我们的openfire数据库用来存放注册用户的所有属性:

create database openfire;

查看一下是否存在刚刚创建的数据库:

show databases;
OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第2张图片
Paste_Image.png

到这里数据库中还没有任何表,这是因为我们还没搭建好openfire服务器并使用MySQL数据库,我们开始搭建服务器:

首先下载openfire客户端http://pan.baidu.com/s/1mhPBZ4W,一路安装,打开后的界面

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第3张图片
Paste_Image.png

这是我已经启动了服务器后的界面,安装后点击start会跳转到浏览器界面

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第4张图片
Paste_Image.png

域名这块我们可以任意填写,但是要把本机静态IP地址和域名做个映射,比如

192.168.10.11  alibaba.com.cn

还要把localhost和域名做个映射

127.0.0.1  alibaba.com.cn

当然这个IP地址可以是局域网也可以是外网的,然后点击继续

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第5张图片
Paste_Image.png

我们直接使用标准数据库连接,这样可以使用我们本地搭建的MySQL数据库了,在数据库url中把hostname换成localhost(如果是局域网),把databaseName换成刚刚创建的数据库名字,用户名填写admin,密码随意,点继续就大功告成啦

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第6张图片
Paste_Image.png

使用刚刚填写的用户名和密码登录,记得是admin用户,其他用户的话还要更改权限

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第7张图片
Paste_Image.png

到这里还没结束,下载spark客户端测试下看看能否登录成功,首先随便注册新用户

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第8张图片
Paste_Image.png

注意用户名要用英文,使用中文会显示为??
下载spark客户端http://pan.baidu.com/s/1hsKAFHy, 以上地址全是最新版本,安装成功后使用刚刚添加的新用户登录会出现这个界面:

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第9张图片
Paste_Image.png

登录不了啊什么鬼,我们打开spark安装目录下的logs

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第10张图片
Paste_Image.png

打开error

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第11张图片
Paste_Image.png
OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第12张图片
Paste_Image.png

不要惊慌,出现这个问题的原因是因为客户端连接设置问题,我们切换到服务器设置界面

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第13张图片
Paste_Image.png

把加密连接给禁用掉,然后保存设置,然后关闭服务器重新登录

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第14张图片
Paste_Image.png

这时再登录试试看!

OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第15张图片
Paste_Image.png
OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统_第16张图片
Paste_Image.png

总结,网上已经有很多关于如何搭建openfire服务器的文章了,有人会问了为什么你还要重复造轮子呢?这时因为之前的文章都是旧版本的openfire服务器,到了4.1.0版本后服务器设置会有所不同,碰到了一些问题在网上找不到解决文档,所以本文由此诞生,接下来要做的事就是去研究smack 4.1版本的SDK了,和之前的用法也发生了很大的差别,不久的以后我也会把自己碰到的一些问题及解决思路写出来,以此供需要的小伙伴参考,如果本文有一些未提到的细节问题而小伙伴碰到了,请提出来咱们共同探讨学习,谢谢小伙伴们的观赏,咱们下次见!!!

你可能感兴趣的:(OpenFire 4.1.0+Spark 2.8.1+MySQL 5.7.17搭建IM系统)