xmpp的openfire+spark安装过程

首先要使用openfire需要mysql数据库,数据库安装的各种教程可以百度!最好是自己下dmg安装包文件压缩包操作难度有点大,目前操作不来!

然后因为我是从网上下的教程,里面自带了openfire3.9.3,所以是先安装的3.9.3(openfire不支持版本回退!),

安装过程中也就想傻瓜式的下一步

有两个注意点,

一个是域名,可以任意填!配置spark会用到!

然后是数据库设置过程中,要注意URL填写,需要填写自己的IP,或者DNS能解析的域名,还需要填写mysql数据库中为openfire建立的表名!

同时由于编码的要求,在URL后面需要按照GET格式加入"useUnicode=true&characterEncoding=UTF-8"

数据库的账号密码根据自己设置与否进行填写!

之后有一个openfire账号设置的问题,其中电子邮箱名字可以随意填,但是最终账号都会是admin,这里一定要设置密码,否则就没有账号登录服务器!

然后继续点下一步之类的,服务器的安装就算基本完成!

所有的前提是----你已经安装了Mysql!


然后就是客户端安装

这里教程里面附送了两款软件,一款是Adium 1.5.8,一款是spark 2.6.3!其中Adium安装过程很顺利,使用也可以用openfire中账号直接登录(账号后面需要加'@服务器名'),

但是spark 2.6.3安装后却一直打不开,教程中提示需要安装JAVA环境,但是安装完后还是闪退!然后自己去网上下了spark 最新版的2.8.2!

最新版一直提示登录账号密码错误,注册提示无法连接到服务器!

在网上找了下国内基本没有相关资料,只有spark官网上有相关资料!具体原理见下方译文!

大概是因为旧版本的安全问题,在近期版本中加入了证书的功能,如果不能正常登陆可以设置DNS,或者不适用自动检测注意手动填写域名和端口!然后接受所有的证书,之后应该就可以了!

由于本人不懂DNS,就按照第二种方式各种手动测试,最终还是失败了!

openfire验证账号一般是账号名@服务器域名的格式,登录时是否需要加@服务器名具体看客户端的请求过程!

例如adium账号后就需要添加,而spark只需要正确配置即可!

另.spark中有个设置叫资源,这是当你通过不同的客户端软件登录时服务器会通过资源判断是否踢掉前面登录的相同账号,具体看openfire设置情况!

最后采取的手段只能是下载了spark 2.5.8,终于成功登陆,但是添加好友会报错!估计还是证书的问题!

spark登陆验证原理:

Say you have a PC called "Junk". You install Openfire on it. When going through web setup it usually suggest calling your domain the same - "Junk".

如果你的电脑名字叫JUNK,然后安装了Openfire,当你进行网络设置的时候通常会建议你将域名设置成一样的,也就是JUNK.

 But say you change it to "MyIMserver". You create a user "john". In XMPP username consists of username@domain. So in that case you should be

但是如果你把他改成了MyIMserver,你创建了一个用户john,在XMPP中用户名包含了'用户名@域名',所以你应该

 logging into Openfire with john@myimserver. But that won't automatically work, if you have no DNS with that name pointing to your "Junk" machine.

用john@域名注册                                             但是如果你没有用DNS指向你的JUNK的时候它是不会自动工作的!

 More so, when Openfire is finishing its setup it automatically generates TLS certificates with the domain name, in our case - myimserver. If you want

尤其是,当openfire在完成设置的时候它会自动以域名生成TLS证书                                                                           在我们的例子中就是myimserver.

 to login to a server in a client using secure encrypted TLS connection, a client is checking certificates provided by the server and it checks if domain

如果你想要用TLS连接从客户端登录到服务器是,客户端会检测服务器提供的证书,它会检测域名是否匹配,证书是否到期等等,

 name matches, if certificate is not expired, etc. So if you are trying to login with john@IP or john@junk, it will see that certificate is for the myimserver

所以如果你想要用john@IP地址或者john@junk,系统将会检测myimserver域名的证书

 domain, but you are trying to login to junk or some 192.168.1.1 server. This is not matching and the client (Spark in this case) is protecting you from

但是你实际上登录的junk或者192.168.1.1的服务器.       显然这是不匹配的,然后客户端(例子中是spark)就是阻止这次恶意链接

 malicious connection.


以上是从官网抄录的英文原文,译文是我自己翻译的,水平有限,欢迎指错!


个人总结:

这次的安装过程一共花了17个小时,可以说纠结万分,许多时候我都想去找人求助(附近有大牛),但是最后还是忍住了!

别人的指点可以让你轻松解决目前的问题,但是解决问题的办法和思路始终是该自己去领悟的!

1.最好有个好老师,要不有个能够交流的人对你都是非常有益的,在一些问题上你可能要苦苦埋坑,但是人家的一句话却可以为你指明捷径,但同时,你也会错过一笔错误中积累的经验!

2.针对英文文档,不用太害怕,其实大部分英文文档人家都是用的尽量简朴的词汇写的!之所以不想看很大一部分原因是因为语言习惯的问题!只要仔细用心看,基本还是能懂的!(我英语水平四级,一直以来英语水平都是及格水平- -!).


最后,因为个人是在自学iOS,我也知道目前行情饱和,但是兴趣所致,希望各位看到文章的能互相交流交流相关经验!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值