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的就是刚写入的
aaarticlea/png;base64,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" alt="" />
以上完成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功能,在“插件”->"有效的插件"中安装这两个插件:
aaarticlea/png;base64,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" alt="" />
1、先将自带的客户端注册等功能禁用掉,因为账号都是由后台来管控,不能自由注册,位置在:“服务器”->”服务器设置”->”注册和登陆”中操作,如下图:
2、设置User Service,如下图:由于后台实现的http basic auth验证,所以选择这个
3、设置Presence Service,如下图:
如果选择subscribed,则需要请求中添加req_jid参数,由于后台未做处理,且只是显示状态而已,无所谓的,所以选择这个即可。
基本设置就是这些,当然Ecshop中的后台这两个插件的接口都是旧版本的,需要参照说明修改成最新版本的,总归做的很烂,延迟很长,也就是仅仅能通讯而已。
以上就是openfire的安装和配置
Linux下Openfire相关安装和配置的更多相关文章
- .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用
一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...
- Linux下Qt的安装与配置
参考资料:http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html Linux 下编译.安装.配置 QT 下载qt 这里用的是4.7. ...
- Linux 下编译、安装、配置 QT
转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...
- linux下svn的安装与配置
---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...
- linux下redis的安装及配置启动
linux下redis的安装及配置启动 标签: redisnosql 2014-10-24 14:04 19732人阅读 评论(0) 收藏 举报 分类: 数据与性能(41) wget http:/ ...
- linux下vsftpd的安装及配置使用详细步骤(推荐)
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BS ...
- 莫小安 Linux下Redis的安装与配置
转载自--Linux下Redis的安装与配置 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它 ...
- Linux下的Maven安装与配置
关于Maven的介绍可以参考:Maven详解 这篇在原理上讲得比较详细,在安装上是windows版本的,这里补上linux下的安装和配置: 1.下载maven安装包 http://maven.apac ...
- Linux下Nagios的安装与配置[转]
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
随机推荐
- 重新注册IE组件
重新注册IE组件:1.打开一个记事本文件. 2.将下面的命令复制到记事本文件中.regsvr32 comcat.dll /sregsvr32 CSSEQCHK.DLL /sregsvr32 shdoc ...
- Divide Two Integers —— LeetCode
Divide two integers without using multiplication, division and mod operator. If it is overflow, retu ...
- Swap Nodes in Pairs——LeetCode
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- 《编写高质量代码——Web前端开发修炼之道》读后随笔
结构样式行为的分离 结构标准包括XML标准.XHTML标准.HTML标准:样式标准有CSS标准:行为标准主要包括DOM标准和ECMAScript标准. 通常的项目会按照如上的方式进行分离,但自己曾今做 ...
- [Audio processing] Harmonic change detection function (HCDF)
Harmonic change detection function (HCDF) 是根据 Tonal Centroid (TC)实现的,首先TC如何提取? Step 1. 提取PCP特征 Step ...
- DFS序 参考许昊然《数据结构漫谈》
网上特别讲DFS序的东西好像很少 太简单了? 实用性不大? 看了论文中 7个经典问题, 觉得挺有用的 原文 "所谓DFS序, 就是DFS整棵树依次访问到的结点组成的序列" &quo ...
- iOS 开发 入门:使用Ad Hoc 进行用户测试
在完成iOS开发,准备进行发布之前,我们都希望App能在周围的朋友之间先进行测 试,提提意见,修改完善之后再发布到App Store上.Apple考虑到这一点,因此通过Ad Hoc来实现发布前的用户测 ...
- Java读书笔记二(封装类)
1.介绍 都知道java中基本数据类型有非常多,比方string,int--,可是基本数据类型与对象之间是不同的.但非常多情况下,我们希望将基本数据类型当作对象使用,这时候就须要用到封装类. 2.封装 ...
- View获取焦点
<EditText android:id="@+id/et_phoneNum" android:layout_width="match_parent" a ...
- C primer plus 读书笔记第十一章
本章标题是字符串和字符串函数.主要是了解和字符串有关的函数. 1.字符串表示和字符串I/O 主要内容:字符串常量和字符串数组的初始化,对比了指针和字符串. 其中要注意的是,数组初始化是从静态存储区把一 ...