利用OpenFire/Spark构建企业内部IM平台
2009-01-21 13:04
441 查看
利用OpenFire构建企业内部IM平台
也许有人会说,有那么多商业公司开发的优秀的即时通信软件,并且大部分是免费的,为什么还需要重新造车,岂不是资源的浪费。在这里笔者想引述一个例子,关于2006年12月26日中国南海发生强烈地震,造成海底光缆断裂,致使MSN等国外通信软件无法正常使用。同时由于部分商业软件通信协议的封闭型,对于公司安全又将是种威胁。
Openfire(formerlyWildfire) is a realtime collaboration(RTC) serverdual – licensed under the OpenSource GPL and commercially. It uses the only widely adopted open protocol for instant messaging, XMPP(alsocalledJabber). Openfire is incredibly easy to setup and administer, but offer srock-solid security and performance.
从此看出,openfire作为一款遵循GPL协议,使用XMPP协议通信的即时通信服务端,在功能以及涉及上并不输给同类的商业软件.
OS: Windows xp/Linux
DBMS:mysql-4.1.20 或者内置默认的DBMS
Client:
OS:windows xp sp2 / Linux
#wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire3.6.0a-1.i386.rpm
安装OpenFire
#rpm –ivh ./openfire-3.6.0a-1.i386.rpm
配置数据库
#mysql admin create openfire//创建openfire数据库
#mysql
Mysql>grant all on openfire. *toopenfire@hostname identified by "123456";//创建openfire用户,密码为123456,其中hostname必须为本机ip对应主机名
Mysql>quit
导入OpenFire需要的mysql表
#cat/opt/openfire/resources/database/openfire_mysql.sql|mysqlopenfire
注:由于实验mysql使用的为4.1.20,大于255字节的字符串并不被支持,因此将openfire_mysql.sql表中VARCHAR(1024)更换为VARCHAR(255),不过推荐使用版本更高的MYSQL来避免这一问题
启动OpenFire服务
#serviceopenfirerestart
通过浏览器进行OpenFire 安装后的配置
#firefox http://IP:9090 //其中IP为服务器端IP先选择安装语言,俺E文不好,首先选择英文版本,接下来是服务器端设置:Domain那块可以选择主机名或者IP地址第三步是数据库设置,使用标准数据库连接,数据库驱动选择mysqlJDBC驱动程序类为:com.mysql.jdbc.Driver数据库URL:jdbc:mysql://IP:3306/openfire(其中IP为服务器端IP)用户名:openfire密码:123456
第四步为特性设置,由于是初始安装,且并没有采用LDAP等,因此选择初始
设置即可,然后设置好admin帐户密码即可现在可以登陆后台进行管理#firefoxhttp://IP:9090(其中IP为服务器端IP)
http://www.igniterealtime.org/downloads/download-landing.jsp?file=spark/spark_2_5_8.msi
安装完成之后,如果服务器端已经创建好了用户,比如Alan,那么可以直接用此用户登录,默认情况下,不需要变更任何网络设置,通过点击“Advanced”可以得到Preferences页面,大家可以看到Port已经设置为5222了。
如果服务器端没有创建好了用户,也可以通过Accounts去创建一个新用户,比如Tomy,如下图,
那么可以直接用Tomy登录,默认情况下,也不需要变更任何网络设置。
用户成功登录OpenFire服务器之后,可以在OpenFire中看到下图:
企业IM的意义
作为现代企业,部门间的沟通亦将显得尤为重要,经常使用的交流工具主要有电话,邮件,即时通信软件。而即时通信软件具有成本低廉,流通方便,并有部分人性化设计,并且具有沟通过程中相应的归档功能,因此构建内部IM交流平台就显得尤为重要。也许有人会说,有那么多商业公司开发的优秀的即时通信软件,并且大部分是免费的,为什么还需要重新造车,岂不是资源的浪费。在这里笔者想引述一个例子,关于2006年12月26日中国南海发生强烈地震,造成海底光缆断裂,致使MSN等国外通信软件无法正常使用。同时由于部分商业软件通信协议的封闭型,对于公司安全又将是种威胁。
OpenFire
首先关注下igniterealtime.org对于他的定位:Openfire(formerlyWildfire) is a realtime collaboration(RTC) serverdual – licensed under the OpenSource GPL and commercially. It uses the only widely adopted open protocol for instant messaging, XMPP(alsocalledJabber). Openfire is incredibly easy to setup and administer, but offer srock-solid security and performance.
从此看出,openfire作为一款遵循GPL协议,使用XMPP协议通信的即时通信服务端,在功能以及涉及上并不输给同类的商业软件.
实验平台
Server:OS: Windows xp/Linux
DBMS:mysql-4.1.20 或者内置默认的DBMS
Client:
OS:windows xp sp2 / Linux
服务器端配置
下载最新的OpenFire 当前最新为3.6版本。#wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire3.6.0a-1.i386.rpm
安装OpenFire
#rpm –ivh ./openfire-3.6.0a-1.i386.rpm
配置数据库
#mysql admin create openfire//创建openfire数据库
#mysql
Mysql>grant all on openfire. *toopenfire@hostname identified by "123456";//创建openfire用户,密码为123456,其中hostname必须为本机ip对应主机名
Mysql>quit
导入OpenFire需要的mysql表
#cat/opt/openfire/resources/database/openfire_mysql.sql|mysqlopenfire
注:由于实验mysql使用的为4.1.20,大于255字节的字符串并不被支持,因此将openfire_mysql.sql表中VARCHAR(1024)更换为VARCHAR(255),不过推荐使用版本更高的MYSQL来避免这一问题
启动OpenFire服务
#serviceopenfirerestart
通过浏览器进行OpenFire 安装后的配置
#firefox http://IP:9090 //其中IP为服务器端IP先选择安装语言,俺E文不好,首先选择英文版本,接下来是服务器端设置:Domain那块可以选择主机名或者IP地址第三步是数据库设置,使用标准数据库连接,数据库驱动选择mysqlJDBC驱动程序类为:com.mysql.jdbc.Driver数据库URL:jdbc:mysql://IP:3306/openfire(其中IP为服务器端IP)用户名:openfire密码:123456
第四步为特性设置,由于是初始安装,且并没有采用LDAP等,因此选择初始
设置即可,然后设置好admin帐户密码即可现在可以登陆后台进行管理#firefoxhttp://IP:9090(其中IP为服务器端IP)
客户端配置
下载Spark当前最新版本为2.5.8。下载URL为http://www.igniterealtime.org/downloads/download-landing.jsp?file=spark/spark_2_5_8.msi
安装完成之后,如果服务器端已经创建好了用户,比如Alan,那么可以直接用此用户登录,默认情况下,不需要变更任何网络设置,通过点击“Advanced”可以得到Preferences页面,大家可以看到Port已经设置为5222了。
如果服务器端没有创建好了用户,也可以通过Accounts去创建一个新用户,比如Tomy,如下图,
那么可以直接用Tomy登录,默认情况下,也不需要变更任何网络设置。
用户成功登录OpenFire服务器之后,可以在OpenFire中看到下图:
总结
至此,使用openre构建企业内部IM平台已经基本完成,本文不保证实际配置过程完全一致,同时可喜可贺的是openfire自身集成了SSL功能,对传输数据加密有提供了保证。相关文章推荐
- OpenFire + Spark构建实时协作平台
- OpenFire+Spark构建实时协作平台
- 利用Openfire+spark+Smack实现XMPP即时通信
- 利用开源系统构建企业通讯平台(VIOP免费网络电话,FAX传真)
- 基于XMPP的IM(openfire+spark)Spark 插件开发
- 利用Openfire+spark+Smack实现XMPP即时通信
- 恩布企业IM 1.7 版本,企业内部通讯平台
- openfire+spark二次开发 spark聊天窗口的构建
- Openfire + Spark 搭建IM简明流程
- 免费企业内部沟通协作平台,开源企业IM,ENTBOOST,Windows环境PostgreSQL版本安装
- Smack+Spark+Openfire集成环境IM开发
- Openfire+Pandion+Spark构建实时通信
- 利用Openfire+spark+Smack实现XMPP即时通信
- 开源企业内部沟通协作平台, 免费企业IM, ENTBOOST, Windows环境:免安装模式部署
- Apache Spark学习:利用Eclipse构建Spark集成开发环境
- Apache Spark探秘:利用Intellij IDEA构建开发环境
- C#打造自己的企业内部沟通平台(上)