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 blzc.com
  <Directory /var/jwchat>
    Options  +Indexes +MultiViews
  </Directory>
  AddDefaultCharset UTF-8
  RewriteEngine on
  ProxyPass /jwchat/http-bind/ http://blzc.com:7070/http-bind/   

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

“/jwchat/http-bind/”:jwchat就通过访问http://域名/jwchat/http-bind/地址去和openfire通讯,apache接到请求后就会重新定向到http://blzc.com:7070/http-bind/

“http://blzc.com: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 = "blzc.com";//你要访问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;

你可能感兴趣的:(apache,服务器,Module,authorization,binding,通讯)