jwchat+openfire搭建即时通讯

最近公司需要研究一下jwchat+openfire即时通讯系统,便在网上游荡了下,按其说明愣是没有成功,但最终还是成功了,现就配置过程说明一下,望有同等需要的网友少走些弯路:
一、版本信息
jdk6.0
apache2.2
openfire3.7
jwchat1.0
二、apache服务器配置。

我们下载安装的是httpd-2.2.17-win32-x86-no_ssl.msi,安装完成后,我们需要配置一下,由于jwchat是用javacript去和openfire进行通讯的,所以他们之间的通讯是基于http的,但是由于浏览器为了安全性是不允许javascript跨域访问的。我们必须通过别的技术来绕过这限制,所以我们采取apache服务器的重定向功能去突破这个限制。

安装完成后进入到apache的安装目找到conf文件夹下的httpd.conf文件,用记事本打开,把下列几个配置项放开(默认被注释掉了)

1、LoadModule rewrite_module modules/mod_rewrite.so

2、LoadModule proxy_module modules/mod_proxy.so

3、LoadModule proxy_http_module modules/mod_proxy_http.so

然后再在本配置文件的末尾加入如下几行配置

ServerName https://www.360docs.net/doc/b88971643.html,

Options +Indexes +MultiViews

AddDefaultCharset UTF-8
RewriteEngine on
ProxyPass /jwchat/http-bind/ https://www.360docs.net/doc/b88971643.html,:7070/http-bind/

在此有必要对proxyPass的参数做些说明

“/jwchat/http-bind/”:jwchat就通过访问http://域名/jwchat/http-bind/地址去和openfire通讯,apache接到请求后就会重新定向到https://www.360docs.net/doc/b88971643.html,:7070/http-bind/

“https://www.360docs.net/doc/b88971643.html,:7070/http-bind/”:被重新定向的地址,也就是我们的openfire的http访问地址。7070端口是openfire的默认访问端口,当然我们也可以进入openfire进行配置。

三、openfire的配置
安装好openfire后进入web式的管理界面,选择服务器-》服务器管理器-》系统属性
在里边添加两个属性
xmpp.httpbind.client.requests.polling = 0
xmpp.httpbind.client.requests.wait = 10

四、部署jwchat
把官方下载的jwchat解压后的文件内容放到jwchat文件夹下,并对里边的文件进行重命名,可能官方为了增加文件的可读性都对文件的扩展名重新定义了下。我们需要把对应的扩展名去掉。在linux下可以用下来命令来完成。
rename ".js.js" ".js" *.js.js
rename ".html.html" ".html" *.html.html
rename ".js.zh_CN" ".js" *.js.zh_CN
rename ".html.zh_CN" ".html" *.html.zh_CN
然后打开config.js文件,把相应的内容修改为如下的形式

var SITENAME = "https://www.360docs.net/doc/b88971643.html,";//你要访问openfir的域名

name:"Native Binding",
description:"Ejabberd's native HTTP Binding backend",
httpbase:"/jwchat/http-bind/",//访问openfire的地址
type:"binding",
servers_allowed:[SITENAME]

最后再把jwchat文件夹考到apache的htdocs文件夹下,重新启动服务,然后访问http://localhost/jwchat即可。
若出现“authorization failed”,则可能

是SSL不支持的原因,需要修改jsjac.js,在if(this.has_sasl) 前面加上this.has_sasl=false;

(我按以上配置可以注册、登录,但添加好友和发送消息失败,同样的环境使用spark做客户端就没有问题)

https://www.360docs.net/doc/b88971643.html,/zhaofsh/article/details/6240402

https://www.360docs.net/doc/b88971643.html,/?p=1463

相关文档
最新文档