建立

Openfire 设置它基于 xml 配置和数据库条目的组合。首次安装后,运行 Openfire 将导致部署一个侦听端口 9090 的 Web 管理面板。通常在 http:// machinenamewhereinstalled:9090 上访问它的端点,并在启动期间在 Openfire 的日志上标记。

访问管理面板将登陆基于 Web 的向导配置。可以按照向导或避免它来设置已配置的 Openfire 服务器,例如给定域,用户和其他配置(克隆或移动另一个安装)。

启动向导之前需要什么

Openfire 需要访问数据库以实现数据持久性,例如注册用户和许多其他配置。在 Openfire 文件夹中,在路径 <Openfire_home>/database 之后可以找到数据库的已拒绝脚本以在现有数据库上执行。

Openfire 将需要选择数据库驱动程序并插入凭据以访问你的数据库。

作为替代方案,可以让 Openfire 创建一个嵌入式(但不太适合开发) HSQLDB 数据库 ; 更重要的是,如果使用管理授权的数据库凭据配置 Openfire,它将能够在向导期间透明地为数据库脚本本身提供午餐。

请记住,安装程序要获得正确行为的目的是什么。

Oracle 指出:

  • Oracle ODBC 驱动程序没有标准的 Opensource 许可证,因此不能与 Openfire 一起提供; 在 <Openfire_Home>/lib 目录中启动向导之前,使用从 Oracle 网站下载并复制。
  • Oracle 的脚本可能需要更新,具体取决于 Oracle 数据库目标版本,在执行之前检查文件。

你需要避免向导

如果需要避免向导,则有必要:

  1. 正确配置 <Openfire_home> /conf/openfire.xml
  2. 正确配置 <Openfire_home> /conf/security.xml
  3. 出口 ofProperty

openfire.xmlsecurity.xml 要克隆(以及移动)安装,请务必在 jive 标记下将标记设置为 true

<setup>true</setup> 

要复制具有相同参数的安装(例如,在开发和维护等多个环境中),请检查数据库标记配置并确保加密密钥。这就是加密密钥的样子

  <database> 
    <defaultProvider> 
      <username encrypted="true">QXxDT1fOVuvrY=</username>  
      <password encrypted="true">QXxDT1fO1jnAiTGZq6u=</password>
    </defaultProvider> 
  </database> 

这看起来像未加密的密钥

  <database> 
    <defaultProvider> 
      <username>admin</username>  
      <password>password</password>
    </defaultProvider> 
  </database> 

encrypted 属性它只是一个占位符(encrypted =false 无效):如果在 <Openfire_home>/conf/security.xml 中存在用条目声明的加密标记,则用户名和密码被认为是加密的,如下所示:

<security> 
  <encrypt> 
    <!-- This can be set to "AES" or "Blowfish" (default) at setup time -->  
    <algorithm>AES</algorithm>  
    <key> 
    </key>  
    <property> 
      <!-- 
        This list includes the names of properties that have been marked for
        encryption. Any XML properties (from openfire.xml) that are listed here 
        will be encrypted automatically upon first use. Other properties 
        (already in the database) can be added to this list at runtime via the 
        "System Properties" page in the Openfire console.
      -->  
      <name>database.defaultProvider.username</name>  
      <name>database.defaultProvider.password</name> 
    </property> 
  </encrypt>  

删除这两个名称条目以使用普通密码

  <encrypt> 
    <!-- This can be set to "AES" or "Blowfish" (default) at setup time -->  
    <algorithm>AES</algorithm>  
    <key> 
    </key>  
    <property> 
    </property> 
  </encrypt>

ofProperty 表

ofProperty 是必须导出以克隆 2 个 Openfire 服务器之间的配置的表。然而,有 3 个条目需要关注并可能编辑:

  • xmpp.domain 如果新的 Openfire 安装域与源 1 不相等
  • 必须改变 admin.authorizedJIDs 以更新管理员的 jid
  • 如果数据库发生更改,则必须更改 database.defaultProvider.serverURL

插入示例:

Insert into OFPROPERTY  (NAME,PROPVALUE) values ('admin.authorizedJIDs','admin@environmentDomain');
Insert into OFPROPERTY (NAME,PROPVALUE) values ('database.defaultProvider.serverURL','jdbc:oracle:thin:@...');
Insert into OFPROPERTY (NAME,PROPVALUE) values ('xmpp.domain','environmentDomain');