Openfire使用上的一些技巧

1、把Openfire安装为系统服务

对于RedHat、CentOS、Fedora之类的系统,可以采用RPM包安装Openfire,安装后自然有了Openfire服务。此时可以通过命令启动或停止Openfire:

# /etc/init.d/openfire stop/start/restart/reload 

如果是通过.tar.gz解压安装的Openfire,那么Openfire的启动或停止可以通过命令:

# ./bin/openfire start/stop 

这种方式下,要把Openfire安装为系统服务,在Openfire的bin/extra子目录下有两个脚本:

1)redhat-postinstall.sh脚本

适合RedHat系统,可以自动把Openfire安装为系统服务。它会创建一个名为“jive”的用户,并把openfired复制到init.d目录,且此脚本必须以root权限执行。

2)openfired脚本

把Openfire作为系统服务的脚本。必须手动配置此脚本。稍后详细介绍如何配置。

2、自定义参数

高级用户在运行Openfire时,可以传递一些参数给JVM,以获得更好的性能。
如果Openfire是通过RPM安装的,那么可以编辑/etc/sysconfig/openfire,找到OPENFIRE_OPTS选项进行调整。
如果是通过TAR解压安装的,那么需要自行调整启动脚本以满足所需。

3、插件

插件使得Openfire可以支持额外的功能和协议。在服务器安装Openfire后,可以下载并安装插件来增强Openfire服务器。插件可以从igniterealtime.org插件页面或直接在管理控制台下载。
插件网页:http://www.igniterealtime.org/projects/openfire/plugins.jsp

1)安装插件

如果是从服务器的管理控制台下载插件,那么插件会自动安装。
如果是手动下载的插件(jar文件),可以将此插件文件复制到Openfire的plugins子目录。Openfire的插件监视器会自动扫描到新插件并自动完成安装。Openfire的管理控制台有“上传插件”功能,可以从本地文件系统上传插件并自动完成加载。

2)管理插件

可以在Openfire的管理控制台进行管理。可以手动删除plugins子目录的插件JAR文件,Openfire会自动从内存中删除插件,并删除它的目录。

4、添加中文支持

在conf子目录编辑openfire.xml配置文件,在处添加以下内容:

?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
即:
<driver>com.mysql.jdbc.Driver</driver><serverURL>jdbc:mysql://111.111.111.11:3306/openfiredb?rewriteBatchedStatements=true?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8</serverURL><username encrypted="true">08d7675ce83b8f765d0eaasdfasasdf9d8943ad4f8edf</username><password encrypted="true">d1e1f004f6c252e04ab0ae6d02beb14e471e6002e0bb621</password><testSQL>select 1</testSQL> 

5、修改Openfire的Domain域值

与Tigase不同,Openfire安装后,它的配置属性不是写入XML文件中,而是基本上都存到数据库表里。
配置属性所在的数据表为ofProperty表

mysql> select * from ofProperty;
+--------------------------------------------+----------------------------------------------------------------------------------+
| name                                       | propValue                                                                        |
+--------------------------------------------+----------------------------------------------------------------------------------+
| adminConsole.port                          | 9090                                                                             |
| adminConsole.securePort                    | 9091                                                                             |
| connectionProvider.className               | org.jivesoftware.database.DefaultConnectionProvider                              |
| database.defaultProvider.connectionTimeout | 1.0                                                                              |
| database.defaultProvider.driver            | com.mysql.jdbc.Driver                                                            |
| database.defaultProvider.maxConnections    | 300                                                                              |
| database.defaultProvider.minConnections    | 10                                                                               |
| database.defaultProvider.password          | b10f78asdfasdda441f52345234425215eba110 |
| database.defaultProvider.serverURL         | jdbc:mysql://111.111.111.11:3306/openfiredb?rewriteBatchedStatements=true           |
| database.defaultProvider.testAfterUse      | false                                                                            |
| database.defaultProvider.testBeforeUse     | false                                                                            |
| database.defaultProvider.testSQL           | select 1                                                                         |
| database.defaultProvider.username          | df94csdfas5d71aefb9183asdfs80fbbb7                                 |
| locale                                     | zh_CN                                                                            |
| locale.timeZone                            | Asia/Taipei                                                                      |
| passwordKey                                | 0N5fddsanisYAnD                                                                  |
| provider.admin.className                   | org.jivesoftware.openfire.admin.DefaultAdminProvider                             |
| provider.auth.className                    | org.jivesoftware.openfire.auth.DefaultAuthProvider                               |
| provider.group.className                   | org.jivesoftware.openfire.group.DefaultGroupProvider                             |
| provider.lockout.className                 | org.jivesoftware.openfire.lockout.DefaultLockOutProvider                         |
| provider.securityAudit.className           | org.jivesoftware.openfire.security.DefaultSecurityAuditProvider                  |
| provider.user.className                    | org.jivesoftware.openfire.user.DefaultUserProvider                               |
| provider.vcard.className                   | org.jivesoftware.openfire.vcard.DefaultVCardProvider                             |
| setup                                      | true                                                                             |
| update.lastCheck                           | 1441615953135                                                                    |
| xmpp.auth.anonymous                        | true                                                                             |
| xmpp.domain                                | ubuntu                                                                           |
| xmpp.session.conflict-limit                | 0                                                                                |
| xmpp.socket.ssl.active                     | true                                                                             |
+--------------------------------------------+----------------------------------------------------------------------------------+
29 rows in set (0.00 sec) 

可见,domain域的配置见xmpp.domain这一行。
修改它的值即可。

mysql> update ofProperty set propValue='tt.com' where name='xmpp.domain'; 

但是要注意,要让修改后的domain域生效,需要重启Openfire服务器。

# cd /opt/openfire/
# ./bin/openfire restart
Shutting down openfire
Stopped.
Restarting openfire 

此时可以用XMPP客户端进行验证,OK!
但实际上,这一步还没真正完成。Openfire在修改Domain域值后,它相应的证书也就无效了,需要重新生成证书(哪怕是自签名的证书)。而生成自签名的证书步骤可以简单这么做:

1)停止Openfire服务
2)修改conf子目录下的openfire.xml配置文件,把true 
改为false
3)启动Openfire
4)浏览器访问http://server:9090,对Openfire重新配置,会自动生成自签名证书来匹配新域值。
5)完成配置,登陆管理控制台,在Admin Console > Server > Server Settings > Server Certificates处删除所有属于旧域名的证书。如果一个证书都没有,那就需要手动产生一个新证书。

6、修改Openfire的IM端口

默认是5222端口,要修改默认的端口,同样修改上面的数据表,找到xmpp.socket.plain.port行,如果没有这一行,那就插入这一行,值改为15222即可。

Openfire使用上的一些技巧相关推荐

  1. php网站安全狗绕过,绕过网站安全狗拦截,上传Webshell技巧总结 | 附免杀PHP一句话...

    原标题:绕过网站安全狗拦截,上传Webshell技巧总结 | 附免杀PHP一句话 *本文原创作者:1_2,本文属FreeBuf原创奖励计划,未经许可禁止转载 这篇文章我介绍一下我所知道的绕过网站安全狗 ...

  2. SQL初学、精通者必看:10个学生成绩查询史上最强技巧全攻略

    SQL初学.精通者必看:10个学生成绩查询史上最强技巧全攻略 本文提供了一个含有学生.成绩.课程和教师信息的完整数据库,并为读者提供了 SQL 查询练习题,还包含了练习的答案以及解析.这些题目旨在帮助 ...

  3. 新手学画画应该如何上色?上色有什么技巧!

    本文由"学美术上美术集网校"原创,图片素材来自网络,仅供学习分享 新手学画画应该如何上色?上色有什么技巧!学画画的同学,在掌握了线稿之后,就要学习如何上色了.很多学画画的童鞋对于上 ...

  4. 深度学习实战39-U-Net模型在医学影像识别分割上的应用技巧,以细胞核分割任务为例

    大家好,我是微学AI,今天给大家介绍一下深度学习实战39-U-Net模型在医学影像识别分割上的应用技巧,以细胞核分割任务为例.本文将介绍在医学影像分割领域中应用U-Net模型的方法.我们将从U-Net ...

  5. laravel-admin多图上传小技巧

    昨天在开发一个功能的时候,因为需要用到多图上传,所以也是查看文档,但是文档基本没谈到,最后还是在谷歌上找到,今天向大家分享有关使用小技巧. 我们在表单中这样引用多图上传,代码如下: $form-> ...

  6. latex 箭头上带_LaTeX技巧931: 让你的公式带上箭头指示

    宏包witharrows提供了一种数学环境,该数学环境与amsmath(和mathtools)中aligned环境很相似,可以实现过长的多段公式换行并对齐.除此之外,在该环境下还可以在公式中的右侧添加 ...

  7. 线上展厅展览设计技巧

    展览设计公司展览设计的五大技巧 技巧1.具有视觉特色 展会的展位太多了,如果你没有任何特色,就很难记住,更不用说企业推广甚至带来客户了.首先我们肯定是视觉中国特色,主要是展台外观造型的创意产品设计,让 ...

  8. 王者荣耀连接不上服务器最新赛季排名,王者荣耀新赛季初不好上分 排位上分小技巧...

    王者荣耀新赛季初不好上分?王者荣耀新赛季初期排位上分是件很困难的事情,那有没有在赛季初上分的小技巧呢?当然有的,想要赛季初就开始排位的小伙伴看过来吧. 都说赛季初排位难,到底难在哪里?大概可以分为两个 ...

  9. 一整套Java线上故障排查技巧,爱了!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:腾讯推出高性能 RPC 开发框架 个人原创100W+访问量博客:点击前往,查看更多 来源:fredal.xin/ ...

最新文章

  1. ns2的第一个tcl脚本
  2. 微软Exchange Server 2013 CU11更新已发布
  3. G6 图可视化引擎——入门教程——前言
  4. rest_framework12:多登陆方式与自动签发token/配置过期时间
  5. 蓝桥杯2015初赛-加法变乘法-枚举
  6. IAR 下根据官方库建立 STM32的工程
  7. 为什么qq相册显示服务器数据错误,玩qq空间常遇到的问题及解决办法_qq空间
  8. 度分秒在线计算机,科学计算器在线计算
  9. 给出直角三角形斜边,求有多少三角形符合要求
  10. 《微积分:一元函数积分学》——指数函数积分进阶
  11. 第五章创业机会与创业风险
  12. 蓝桥杯历年真题大全+题型分布+分数分布
  13. AE中文破解版软件屏蔽_破解教程
  14. 在idea2021中遇到element tx:attributes is not allowed here的问题
  15. MySQL - 调优(一)
  16. 衡量两个向量相似度的方法:余弦相似度
  17. 欧盟监管机构将逐一评估辖区内ICO项目
  18. 威廉指标WR计算公式
  19. 全球共模扼流圈行业收入预计2028年达到9.167亿美元
  20. Unity 生成全景图

热门文章

  1. 常见多媒体文件格式及视音频编解码总结
  2. 40个大数据学习资源,个个是干货,最后7个太给力
  3. MySQL 高级- case结构
  4. 分库分表的类型和特点
  5. MyBatis 插件原理与自定义插件-PageHelper 原理
  6. Redis LRU 淘汰原理
  7. 通过反射运行配置文件内容
  8. Request_获取请求参数通用方式介绍
  9. StringBuilder的toString方法
  10. 字符串的构造方法和直接创建