Linux下Openfire相关安装和配置

记录下来,方便下次再用时从头查找资料

小京东ecshop中的通讯有用到openfire,Window下配置安装很简单,直接下载exe文件安装就行,而linux下要麻烦一点。安装后的配置下面会细说:

一、安装JDK

 1、检测原系统中是否会带着jdk,运行命令:

#查看jdk版本
java –version 
#rpm查询关键字
rpm –qa | jdk

如果有请查看是否为openjdk,如果是,则需要卸载,因为用openjdk时会报错误信息,客户端登陆不了(目前遇到的情况就是这样,当然也可以先安装openfire试试,不行再安装oracle的jdk),出错的问题我记不太清了,当初搜索一下午,最后换了版本就解决了,但原先搜索类似问题有记录,这个这个可以参考。卸载openjdk的命令:

#假如上方grap等命令出来的版本为 java-1.8.0-openjdk-1.8.0.9-2.3.8.0.el6_4.i686,随便编的,可能有好几个,需要全部卸载
#用yum卸载
yum  remove  java-1.8.0-openjdk-1.8.0.9-2.3.8.0.el6_4.i686
#或者用rpm卸载
rpm -e –nodeps  java-1.8.0-openjdk-1.8.0.9-2.3.8.0.el6_4.i686

  2、安装oracle的jdk,下载地址点这里,在Jave SE分类下(PS:又是ee又是se的,不会java,完全不明白),最新版本就可以,由于当时下载的为 jdk-8u101-linux-x64.rpm(当前已经8u111了),所以就以这个来说了,下载完成后上传到服务器,然后用rpm命令安装:

rpm -ivh jdk-8u101-linux-x64.rpm

 3、安装完成后将jave加入环境变量,vim打开/etc/profile文件,在文件最下方添加:(/usr/java/jdk1.8.0_101需要修改成自己的,在putty命令行中cd到/usr/java目录下查看具体名称)

#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_101
JRE_HOME=/usr/java/jdk1.8.0_101/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

保存完成后在putty命令行中运行命令生效并查看当前环境变量

#使生效
source  /etc/profile 
#查看环境变量
echo $PATH

如下图:php和mysql的是在安装lanmp中时自动写入的,下方两个jdk的就是刚写入的

以上完成jdk的安装,运行命令java –version 即可查看当前版本

二、安装openfire

  1、下载openfire,官方网站,可以在其中选择openfire(当前最新版本openfire-4.0.3-1.i386.rpm),下载下来后上传服务器安装,也可以直接在putty命令行运行命令:

wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.0.3-1.i386.rpm

  2、下载完成后安装,putty运行命令:

rpm -ivh openfire-4.0.3-1.i386.rpm

  3、安装完成后启动openfire并测试是否启动,命令:

#用法:Usage /etc/init.d/openfire {start|stop|restart|status|condrestart}
#另一用法service openfire start 并不能启动,不知道为什么,后来直到为什么了,下面有解释
#开启
 /etc/init.d/openfire start
#查看启动状态
 /etc/init.d/openfire status

  4、查看是否开机启动,命令:

#命令
chkconfig --list openfire
#显示结果
#openfire        0:off   1:off   2:on    3:on    4:on    5:on    6:off
#如果未自动启动,则需要执行后再查看
chkconfig openfire on

正常来说安装完成就自动启动了,看上方结果中的3和5都为on。如果为off,则需要运行上方命令行开启后再查看。

但是发现一个问题,丫根本没有开机启动,上方也说了service openfire start不启动的原因也在于此,搜索后在stackoverflow找到了解决方法,应该是java的问题,具体代码:

cd /opt/openfire/jre/bin
cp java java.bak
rm java
ln -s /usr/bin/java java
service openfire start

  5、访问openfire后台:在浏览器中打开:服务器IP:9090(例如:http://123.123.123.1231:9090)即可访问openfire后台。后台初始化按照步骤来吧,最好在wdlinux中“MYSQL管理”->"快速创建"中创建一个单独的数据库,当然也可以与原网站同用一个(不推荐)。详细的步骤也没什么说的,无非就是设置IP,链接数据库,修改后台登陆密码等。

这里有个疑问:看好多教程说需要将iptables中添加9090,5233等端口(可以在wdlinux后台"安全管理"->"防火墙iptables"中查看添加),但是实际应用中并不需要添加这些端口也可以登陆openfire后台和客户端(可以在“系统管理”->"端口管理"中查看相关端口),这里不知道是怎么回事,暂时没加,后续测试下会有什么影响?

  以上完成openfire安装,至此就OK了,下面说下Ecshop中用到的openfire相关插件和配置吧,无关人员就此退散!

三、Ecshop相关的openfire配置

  Ecshop中主要用到了openfire中的两个插件“User Service”和“Presence Service”,前者主要用来设置会员的创建管理等api功能,后者主要用来显示会员的在线状态等api功能,在“插件”->"有效的插件"中安装这两个插件:

  1、先将自带的客户端注册等功能禁用掉,因为账号都是由后台来管控,不能自由注册,位置在:“服务器”->”服务器设置”->”注册和登陆”中操作,如下图:

  2、设置User Service,如下图:由于后台实现的http basic auth验证,所以选择这个

  3、设置Presence Service,如下图:

如果选择subscribed,则需要请求中添加req_jid参数,由于后台未做处理,且只是显示状态而已,无所谓的,所以选择这个即可。

基本设置就是这些,当然Ecshop中的后台这两个插件的接口都是旧版本的,需要参照说明修改成最新版本的,总归做的很烂,延迟很长,也就是仅仅能通讯而已。

以上就是openfire的安装和配置

posted @ 2016-11-23 14:40  漫游云巅  阅读(963)  评论(0编辑  收藏  举报