官网 Ignite Realtime: a real time collaboration community site
github主页 Ignite Realtime · GitHub
参考:Openfire: Installation Guide
下载安装包并解压(tar.gz包):Ignite Realtime: Downloads
tar -xzvf openfire_4_5_2.tar.gz mv openfire /opt
启动
cd /opt/openfire/bin ./openfire start
初始化数据库可以直接在openfire目录中找到脚本文件/opt/openfire/resources/database/openfire_mysql.sql
,登录mysql命令终端,执行数据库创建与初始化操作。
CREATE DATABASE `openfire` CHARACTER SET utf8 COLLATE utf8_general_ci; source /opt/openfire/resources/database/openfire_mysql.sql
访问:http://172.16.51.169:9092/setup/index.jsp 进行设置
服务器设置,注意域的设置,如果你用于外网或局域网访问,那么你的地址配置成外网或局域网地址。
数据库设置,使用标准数据库连接,我们使用mysql存储数据,填写驱动和连接地址,用户名密码等信息。
com.mysql.cj.jdbc.Driver jdbc:mysql://172.16.51.169:13306/openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=UTC
管理员设置
设置完毕即可用admin
登录,密码为上面设置的密码。
将
vi /opt/openfire/conf/openfire.xml
如果忘记了admin的密码,修改配置,把oneTimeAccessToken
节点打开,重启openfire,此时admin的密码被重置为secretToken
,只能使用一次。进入管理界面后通过密码修改功能进行密码重置后重新登录即可。
进入插件管理界面,安装插件:Bookmarks,REST API,插件下载可以到官网下载:Ignite Realtime: Openfire Plugins。当然,github页也能找到相关插件的源码:Ignite Realtime · GitHub
To install plugins, copy the .jar file into the plugins
directory of your Openfire installation.
插件可以增强openfire的功能,安装插件非常简单,将插件的jar包放到/opt/openfire/plugins
目录即可,我们可以通过插件管理界面去直接上传。
到github上找到这个插件,通过maven编译得到ofchat.jar(手动改一下名称)插件,将插件上传安装到openfire即可。
GitHub - igniterealtime/Openfire-Chat: Chat API (REST) for Openfire
编译
mvn clean package
Upon completion, the openfire plugin will be available in target/ofchat-openfire-plugin-assembly.jar
. This file should be renamed to ofchat.jar
pubsub功能openfire在2.6之后已经支持。
Ignite Realtime: All About Pubsub
在管理界面上,点击分组聊天—>聊天服务—>创建新服务,群聊服务名称这里设置了muc
点击服务列表的具体服务可以对服务进行设置,可以设置历史记录显示条数,管理员等。
点击新创建的“muc”,点击“默认房间”,对房间进行设置,根据实际进行调整即可:
在目录中列出房间
永久房间
能够发现成员真实JID的角色
允许成员修改昵称
允许用户注册房间
记录房间聊天
房间最大人数:无限制
允许成员邀请其他人
点击“服务器”中的“服务器管理器”,点击“系统属性”,在页面最下方,添加新属性,属性名为“xmpp.pubsub.multiple-subscriptions”,属性值为“false”,点击保存属性。
点击“服务器”中的“服务器设置”,再点击“REST API”,选择“Enabled”,“Secret key auth”
点击“Web Client”中的“Settings”,选择“Enabled”和“Secret key auth”