您想在两个单独的域上运行 XMPP 服务,但在一台机器上,每个域都有自己的用户列表和伙伴名册?
要在 Openfire 上执行此操作,您需要安装该软件的两个实例。
即。 /opt/openfire 和 /opt/openfire2)。
将/opt/openfire2/bin/openfire 重命名为openfire2。
编辑/opt/openfire2/conf/openfire.xml 文件,将控制台端口从9090 / 9091 更改为9098 / 9099。
符号链接 /opt/openfire2/bin/openfire2 到 /etc/init.d/openfire2 (sudo ln -s /opt/openfire_2/bin/openfire_2 /etc/init.d/)
启动第二个 openfire 服务 (sudo service openfire2 start)。
转到localhost:9098 并开始在单独的域上设置第二个实例。 请务必使用单独的 mysql 数据库。
如果您的服务器只有一个 IP 地址,请务必将第二个实例上的 XMPP 端口更改为 5222 以外的其他端口。
如果您的服务器有多个 IP 地址,您可以取消注释 openfire.xml 中的部分以指定两个实例以侦听不同的接口/IP 地址。
如果你走这条路,你可以将控制台和 XMPP 端口设置为默认值。
或者,您也可以放弃 openfire 并改用 ejabberd - 它支持从单个服务器实例和 IP 地址为多个域(具有单独的数据库/用户帐户/名册)提供服务。但是,Openfire 有更好的文档记录,并且管理界面更加精美。此外,ejabberd 缺少 RTP 代理插件,而 jinglenodes 插件在其上进行设置非常麻烦。