openfire的安装我是安装在了两个地方,一个是自己的的电脑Windows10上,一个是安装在腾讯云的centos7上。这样就可以在自己电脑用和试验,可以了再放到云上去。那么今天就来讲解一下openfire在Windows和centos7上的安装过程,我个人都已经实践过了。基本上安装完成应该是没有什么大问题的。
Windows10上我用的IDE:IDEA2016 (网上有很多关于eclipse的教程,对于网称最好用的javaIDE教程却少之又少,我表示很心累。。)
但是感觉IDEA还是会比较高达上一点,好用应该是不错的。因为大家都这么说,只是我还是新手,所以还没有体会到IDEA的强大之处。
我在Windows上用的是源码安装openfire4.0.2,这里我一开始也是安装的出了很多的错误。再加上都是eclipse的教程,偶然一次让我发现了IDEA的教程,真的是非常感谢这个兄弟。仿佛远处的希望之光,即将熄灭,又给我点燃了。这篇文章讲的听详细的,我就按照这个文章的步骤去执行就没有问题了。
所以Windows10上的有关IDEA上安装openfire的工作请参照文章:
http://blog.csdn.net/l139955/article/details/51981671
至于安装过程中可能出现一些进程占用等问题,就杀一杀就好了。其他的就没有 。然后文章中也说了最后安装好之后会报一个空指针的错误。如果大家有什么经验和方法解决了的话请通知或者评论一下。非常感谢大家!
centos7下的openfire4.0.2的源码安装:
个人感觉在centos下安装还比Windows上简单,
首先登录官网下载openfire的linux下的源码:
http://www.igniterealtime.org/downloads/source.jsp
然后再上传到linux的你自己想要的目录下。
然后 tar -zxvf openfire_4_0_2.tar.gz 解压到当前目录
然后进入openfire的bin目录下
./ openfire start 开启openfire服务器
./openfire stop 关闭openfire服务器
这样就基本安装完成了,开启服务器之后去浏览器输入:你的IP:9090如果弹出
代表你已经安装成功了,也可以正常访问了。这时候就一步步的去配置就可以了。
我选择的是中文
然后我域名用的是localhost
然后我选择的是用外部的MYsql数据库
然后就是进行mysql的数据库配置,我在这里卡了半天。很烦,一开始配置出现了问题说是
org.jivesoftware.util.log.util.CommonsLogFactory - Prototype
java.sql.SQLException: Access denied for user 'yukunqi'@'127.0.0.1' (using password: YES)
意思估计就是我的帐号访问不了数据库,我用的是自己重新创建的数据库帐号,没有用root帐号以为这样也可以。毕竟对于要安装openfire内容的数据库我给了所有的权限,自己用这个账户去数据库能够增删查改。但是这里就不能登录进去
之后我用了root的账户就可以了。
org.jivesoftware.database.SchemaManager - Specified key was too long; max key length is 767 bytes
这又是另一个搞了很久的问题,说我的数据库的字段超过了767字节。又醉了。明明用Windows上装的时候就没有这样的情况
网上有说一些解决的方法,修改openfire的mysql语句即可。
文章:http://blog.csdn.net/xuzimincode/article/details/14026733
但是我这里还是解决不了,改了之后。后面发现是字符集的问题,在Windows上的mysql数据库用的是utf8字符集,在centos上是utf8mb4字符集。是这个字符集的问题导致超过了767.
区别就是:uft8一个字符3最多个字节,而utf8mb4一个字符支持4个字节,比utf8能表示更多的字符。这里应该是不需要使用utf8mb4的,utf8就够了。所以用utf8mb4就浪费了超过了限制
修改mysql的字符集:
首先查看mysql的指定数据库的字符集:show create database 数据库名;
修改成utf8:alter database 数据库名default character set 'utf8';
这样就可以了。
错误日志在openfire的logs下的error.log里面查看
配置完成后就变成这样的界面了。可以登录进去开始操作啦!
但是我现在还有一个很蛋疼的问题,我安装好了openfire可是用Windows电脑上下载的spark去登录这个openfire服务器却登不上去。不知道为什么,
我用本地Windows上的openfire就可以登录spark跟人聊天和注册。我还下载了sparkweb同时放在了Windows和centos上。也是云上的服务器登不上去,请各位大神看到文章能帮忙解决一下。感激不尽。