openfire安装配置完全教程

Java领域的IM解决方案

Java领域的即时通信的解决方案可以考虑openfire+spark+smack。

Openfire是基于Jabber协议(XMPP)实现的即时通信服务器端,最新版本是3.8.1

可以到http://www.igniterealtime.org/downloads/index.jsp下载(分为windows和linux版本)

可以到http://www.igniterealtime.org/downloads/source.jsp下载源码,方便二次开发插件。

Spark是即时通信客户端。同样在上述地址下载,最新版本是2.6.3

Spark支持聊天,会议,文件收发,截屏,连接msn等功能。

如果是想支持 语音,视频,则必须

不能安装 Online版本,必须安装Spark完整版本。

下载Openfire3.6.4版本及red5插件

Smack是即时通信客户端编程库,目前我已测通jsp使用smack的API向openfire注册用户发送消息,并且可以通过监听器获得此用户的应答消息。

通过Smack向msn用户和QQ用户,gtalk用户发送消息应该也可以实现,关于向gtalk用户发送消息的例子较多。

第二章安装openfire

此处以windows版本(ZIP)版本进行演示。

将ZIP版本解压后,将”openfire”文件夹拷贝到“D:\xtomchat”目录。

然后打开“D:\XtomChat\openfire\bin\openfire.exe”,启动后,点击“langch admin”,根据提示进行安装。

安装前,首先在本地MYSQL中新建xtom_chat数据库(utf8编码)。

然后安装过程中手动选择MYSQL,数据库URL串填写:

jdbc:mysql://192.168.1.146:3306/xtom_chat?rewriteBatchedStatements=true

安装过程中域名默认为本地计算机名称,此值不好用,可更改为IP地址或真实公网域名。

如果无法登录管理后台:则在ofuser数据表中,更换encryptedPassword字段的值为“36361c6a3f353bf245021f896fb138fe02c0b7612e9fcd1f”,则

用户名为admin,密码为”123456”。

安装spark客户端

安装程序为spark_2_5_8.exe,安装过程全部默认即可。

下面是登录界面:

登录时可使用openfire中创建的帐号,也可以点(A)帐户注册新帐号,服务器需设置为openfire的域名地址即上面安装的192.168.1.116,下面是登录成功界面:

关于spark客户端的具体功能就不介绍了,下面介绍openfire配置msn网关及spark如何连接msn,以及red5视频的配置方式。

======================WHB以下章节尚未进行测试=======================

配置msn网关

4.1服务端配置msn网关

将gateway.jar插件包(可网上下载)复制到openfire的plugin目录下,如:

C:\Program Files\Openfire\plugins,如果openfire安装到别的目录请找到对应的目录,把gateway.jar复制过去。停止openfire,重新启动并登录后,见下面的页面,多出了一个gateways的标签页:

点Gateways,找到MSN Messagers,勾选,然后点“选项”,见下图:

以上默认的配置不用修改,点“测试”,显示:

点“测试连接”,显示测试成功。(右侧将显示绿色背景的文字提示测试成功)

4.2 spark客户端设置msn帐号:

启动spark,登录后,spark窗口的右上多出一个灰色的蝴蝶,见下图:

点这个蝴蝶,然后选择“输入登入资讯”,显示下面的窗口:

在这里输入msn的用户和口令,然后保存,稍后片刻,spark将从msn上获取用户列表,最后显示下面的msn好友列表:

这时可以选择一个在线用户聊天了,spark还支持文件传输,截屏,语音,视频等。

Red5视频配置

 
redfire插件下载地址:

http://code.google.com/p/redfire/downloads/list

搜索框里输入red5,或者直接打开:

http://code.google.com/p/redfire/downloads/detail?name=red5.war&can=2&q=

   
 
解压后将red5.war放到openfire的plugins下; 重启openfire

通过访问:http://127.0.0.1:9090/red5

下载redfire的spark插件

   
   
   

点”here”会下载red5-plugin.jar,直接保存在Spark\plugins目录下,重新启动spark。

将red5.war复制到Openfire\plugins,如果openfire是在运行状态,一会会在这个目录下自动部署red5.war(在此目录下自动生成red5目录)。安装成功后,openfire的管理页面会多出一个red5标签,服务端不需要做任何改动。

上一步骤部署了red5后,需要停止openfire并重新启动,启动完成后,访问http://127.0.0.1:7070/red5/ ,显示一个red5的html首页,下拉到页面最下面,找到spark plugin

点”here”,会下载red5-plugin.jar,直接保存在C:\Program Files\Spark\plugins目录下,重新启动spark。

在spark中右键点一个人,会出现几个菜单其中View Destop Screen和Publish Desktop Screen是相关联的,如果A用户用Publish Desktop Screen发布了自己的桌面,B用户选择A用户,右键选择上一个图中的View Desktop Screen,则B用户可看到A用户的计算机桌面。在http://wpy.com:7070/red5页面上有一个功能和这个类似,To publish是发布自己的桌面,To Viewer是别人观看自己发布的桌面,多人发布是什么效果没有具体测试。可以自己发布然后观看自己的桌面(效果有点像两个镜子对照,会出现层层窗口嵌套的现象),当选择一个人,右键选择Add/Remove Video Roster后,可进行 视频聊天,可以加多个人进行视频,每选择一个热人,然后点Add/Remove Video Roster,就可以将这个人加入到视频中或者从视频中移除,下面是视频页面(我没装摄像头),可以看出一个页面中可以显示多人视频,如果其他人也装了spark,估计也能看到多人视频的效果(猜测,没有测试),

搞了好几天才把这东西搞明白。今天终于搞定了。其中的关键就是SparkWeb依赖于Red5。但是在http://www.igniterealtime.org/downloads/index.jsp的下载页面又找不到Red5的下载。包括openfire的插件下载页面http://www.igniterealtime.org/projects/openfire/plugins.jsp上也找不到Red5的下载。估计需要到red5的官网上下载,但是我没有去下载。还是在igniterealtime的网站上找到了for openfire的red5插件。下载地址http://www.igniterealtime.org/projects/openfire/plugins-beta.jsp。下载那个red5.war。之后的事情就简单了。

将red5.war放到openfire的plugins目录下,然后启动openfire,它会自动解压red5.war。解压完成后能看到red5/sparkweb目录,以及一些其他的目录。然后还需要配置才能使用。进入openfire的管理控制台,即启动openfire后点击Launch Admin打开页面,输入admin/admin进入。打开“服务器设置”——〉“HTTP绑定”,将两个选项分别启用及enabled。然后注意HTTP绑定的端口,默认是7070。保存设置后重起openfire就OK了。通过浏览器打开http://[openfire的IP]:7070/red5/sparkweb/就看到了登陆界面了。输入openfire的用户的用户名及密码就等到到openfire了。

安装完red5插件后,openfire的管理控制台中会增加一个red5的配置页,保持默认,什么都不用改。

另外,在red5/sparkweb下的文件,看起来非常熟悉,就是从igniterealtime网上下载的Sparkweb的结构。所以可以下载最新的Sparkweb替换。

5.2 spark客户端配置视频插件

在spark中右键点一个人,会出现几个菜单:

其中View Destop Screen和Publish Desktop Screen是相关联的,见下图:

如果A用户用Publish Desktop Screen发布了自己的桌面,B用户选择A用户,右键选择上一个图中的View Desktop Screen,则B用户可看到A用户的计算机桌面。在http://bzwang.tzsoft.com:7070/red5页面上有一个功能和这个类似,见下图:

To publish是发布自己的桌面,To Viewer是别人观看自己发布的桌面,多人发布是什么效果没有具体测试。可以自己发布然后观看自己的桌面(效果有点像两个镜子对照,会出现层层窗口嵌套的现象),下面是自己发布自己的桌面并观看自己的桌面的效果:

当选择一个人,右键选择Add/Remove Video Roster后,可进行 视频聊天,可以加多个人进行视频,每选择一个热人,然后点Add/Remove Video Roster,就可以将这个人加入到视频中或者从视频中移除,下面是视频页面(我没装摄像头),可以看出一个页面中可以显示多人视频,如果其他人也装了spark,估计也能看到多人视频的效果(猜测,没有测试),见下图:

使用smack开发即时通信功能

可以使用smack开源产品开发与即时通信用户交互的功能,这样我们可以使用系统来模拟一个openfire的用户来向其他用户发送消息,因而可以使应用系统产生的业务消息实时传递给即时通信用户,例如系统向某用户发送“有新的请假单需要您审批”,如果用户开启了spark客户端,则spark客户端会实时接收此消息。

Smack可从网上下载,目前最新版本为smack_3_1_0.zip,将此文件里四个smack开头的jar包放到自己的WEB应用的WEB-INF\lib目录,使用下面的jsp文件进行测试:

下面是测试向spark用户suqi发送消息的页面代码:

<%@ page contentType="text/html;charset=UTF-8"%>

<%@ page import="org.jivesoftware.smack.*"%>

<%@ page import="org.jivesoftware.smack.packet.*"%>

<%

//以下可以通过程序向spark帐号发信息,但没有测通想msn帐号发信息

XMPPConnection connection = new XMPPConnection("bzwang.tzsoft.com"); //openfire服务器的主机域名

// ConnectionConfiguration connectionConfig = new ConnectionConfiguration( "messenger.hotmail.com",1863,"messenger.hotmail.com");

//  XMPPConnection connection = new XMPPConnection(connectionConfig);

connection.connect();//先连接服务器

try

{

connection.login("abao", "abao");//使用openfire的注册用户登录openfire服务器

System.out.println("登录成功!");

//createChat的第一个参数一定要带域名([email protected]),否则会话失败

Chat chat = connection.getChatManager().createChat("[email protected]", new MessageListener()

//Chat chat = connection.getChatManager().createChat("baozhengw9999%[email protected]", new MessageListener()

{

public void processMessage(Chat chat, Message message)

{

//如果不用connection.disconnect()断开连接,这里可以监听回复信息

System.out.println("Received message: " + message.getBody());

}

}

);

System.out.println("发送消息....");

chat.sendMessage("请问你收到我的消息了吗?");//

/* Message message = new Message("baozhengw9999%[email protected]");

message.setBody("你好!我是个聊天机器人!");

connection.sendPacket(message);

*/

System.out.println("发送完毕...");

connection.disconnect();

} catch (Exception ex) {

System.out.println("login error");

}

%>

发送成功后,如果suqi用户打开了spark,则spark会闪烁提示有新消息,打开spark,聊天窗口显示系统用abao用户发送的消息,见下图:

这样实现了业务系统和即时通信的无缝整合,以后应该还可以实现通过smack编程使内网的openfire注册用户向自己的msn好友或QQ好友发送消息以及接收消息。

SPARK二次开发:

1.准备工作:

到官网上下载Openfire 3.6.4,并通过svn下载openfire、Spark和SparkWeb的源代码

官网地址如下:

http://www.igniterealtime.org/downloads/index.jsp

注意官网上最新的Spark版本是2.5.8,其jdk环境最好使用1.6的版本。

2.环境搭建——spark源码安装配置

双击openfire_3_6_4.exe进行openfire的安装,安装过程很简单,不介绍了。

本例的开发环境是基于Eclipse的。

1)选择File——New——Project——Java Project。

输入项目工程名spark

Contents中选择 "Create project from existiing source",然后把spark文件所在的文件夹加进去.

点击Finish。

2)生成Spark:

点击Window::Show View::Ant
      右击Ant面板,选择Add Buildfiles
      展开spark::build文件夹,选择build.xml,点击"OK"
      在Ant面板,展开Spark,双击"release",等一段时间,会提示"Build Successful"。

3)运行Spark:

点击Run::Open Debug Dialog...,出现"Run"窗口
      选择"Java Application",右键点击"New"按钮.
      在"Main"标签页,将New_configuration换成Spark.
      点击Project::Browse按钮,选择Spark,再点OK.
      点击Main class::Search按钮,选择main所在的类org.jivesoftware.launcher.Startup再点击OK
      建议勾选Stop in main.
      点击Classpath标签页,选择User Entries ,使得Advanced..按钮变的可用.点击Advanced按钮.在弹出来的Advanced Options窗口,选择Add Folders,再点OK,在Folder Selection窗口选择spark::src::resources 文件夹,点击OK
      选择Common标签页,勾选Debug,Run前面的框
      点击Apply,再点击Close

4)在run下选择spark,运行成功!

参考文档:http://www.igniterealtime.org/community/docs/DOC-1040

http://wanghaibin0921.blog.163.com/blog/static/36068840201351785643146/

时间: 2024-08-08 22:00:24

openfire安装配置完全教程的相关文章

webpack安装配置使用教程详解

webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对于不喜欢使用 jspm测试的朋友可以参考一下. webpack 入门 目录 1 安装 webpack2 初始化项目3 webpack 配置4 自动刷新5 第三方库6 模块化7 打包.构建8 webpack 模板我最近大量使用的是 jspm,但因为用它搭建的前端开发环境中,写测试代码非常困难,而项目又

【转】Android Studio安装配置学习教程指南 下载和安装--不错

背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Google的更新速度也很快,明显能感觉到这是Android开发的未来,那么我们还有什么理由不去拥抱未来呢? 虽然推出了很久,但是国内貌似普及的程度并不高,鉴于很多朋友求studio的详细教程,那么今天我就手把手教大家下载.安装.使用,Studio之路从这里开始. Android Studio VS Ec

Windows上安装配置SSH教程(8)——综合应用:在Windows上使用手动方式实现SSH远程登陆与文件传输

服务器端操作系统:Windows XP 客户端操作系统:Windows10 安装与配置顺序 1.服务端安装OpenSSH 2.服务端配置OpenSSH 3.客户端安装OpenSSH 4.客户端安装WinSCP 下面逐步介绍安装配置方法 说明:局域网内,请先用交换机把计算机连接起来,设置好IP地址. 1.服务端安装OpenSSH 下载安装包:https://sourceforge.net/projects/sshwindows/ 除了修改软件的安装目录其他都是一路默认选项,Next到最后. 2.服

cognos安装配置完整教程

系统环境:微软XP 软件:IBM cognos10.2  32位,oracle 11g数据库64位 cognos下载连接-->传送门 主要下载文件有 Congos Server.Cognos Framework.Cognos Transformer三个文件 如果想学习官方的例子,也可以把Sample也下载 文件如下: cognos的服务主要由server提供,所以server的安装配置步骤略多,其他三个文件安装比较简单 解压server包,如上图所示会有Cognos BI Server 10.2

Ubuntu Server 13.10 安装配置图解教程

一.Ubuntu Server 13.10系统安装 Ubuntu分为桌面版(desktop)和服务器版(Server),下面为大家介绍服务器版本Ubuntu Server 13.10的详细安装过程. 附Ubuntu Server 13.10系统镜像下载地址: 32位:http://releases.ubuntu.com/13.10/ubuntu-13.10-server-i386.iso 64位:http://releases.ubuntu.com/13.10/ubuntu-13.10-serv

Windows上安装配置SSH教程(7)——几种方式对比

服务端:Windows XP 客户端:Windows 10 由于Cygwin也可以安装OpenSSH,所以客户端其实可以直接使用Cygwin安装OpenSSH,那么在Windows下使用SCP(安全拷贝)有两种方式 ---------------- 方案1:图形界面,手动上传下载,可采用如下方式 服务端:OpenSSH for Windows 客户端:WinSCP,OpenSSH for Windows ---------------- 方案2:命令行,使用脚本自动上传下载,可采用如下方式 服务

【转】Android Studio安装配置学习教程指南 Gradle基础--不错

原文网址:http://www.linuxidc.com/Linux/2015-02/113890p4.htm 其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧. 什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DS

Mysql教程:[1]下载安装配置详细教程

如果不小心你下载了免安装的mysql,那么你比较倒霉,你找不到setup文件,还得自己去配置很多东西,然后再使用命令安装.所以我今天呢写一篇教程,写的尽量详细,即便是菜鸟也能安装,我自己安装过很多遍了,方法没问题,下面看具体的教程: 通过搜索找到mysql的官方,然后在官网找到下载页面,注意别下载错了,我们仔细看 在这里,我们找到这个installer ,点击进入 然后,我们看页面最下面,不管是64位还是32位,都是下载这个安装文件 下载下来以后,我们就可以看到这个界面,安装过程很简单,现在就是

mysql 5.7.14 免安装配置方法教程

仅供参考 一.下载 1. 进入mysql官网,下载Mysql-5.7.14,下载地址:http://dev.mysql.com/downloads/mysql/ 2.将下载好的文件解压到自定义目录 二.配置文件 1.首先配置环境变量path,具体不再描述 2.在解压路径下复制my-default.ini,修改名称为my.ini # basedir = E:\mysql (此处为mysql文件路径,自定义)# datadir = E:\mysql\data (此处为mysql文件路径,自定义)#