使用 Red Hat Ansible 认证内容集合安装 JBoss Web 服务器

Red Hat JBoss Web Server 5.7

使用 Red Hat Ansible 认证内容集合 1.2 自动部署 JBoss Web Server 5.7

摘要

安装和使用红帽 Ansible 认证内容集合来自动化部署 JBoss Web 服务器。

前言

Red Hat Ansible Certified Content Collection for Red Hat JBoss Web Server 是红帽提供的预打包的 Ansible 内容集合。您可以使用 Red Hat Ansible 认证内容集合自动安装和配置红帽 JBoss Web 服务器产品。您还可以将自定义任务添加到 playbook 中,以自动化部署 JBoss Web 服务器应用程序,同时与自动产品安装或更新。

重要

Red Hat Ansible 认证内容集合只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

注意

本文档的其余部分指的是 Red Hat Ansible Certified Content Collection for Red Hat JBoss Web Server 作为 JBoss Web Server 集合

对红帽文档提供反馈

我们非常感谢您对我们的技术内容提供反馈,并鼓励您告诉我们您的想法。如果您想添加评论,提供见解、纠正拼写错误甚至询问问题,您可以在文档中直接这样做。

注意

您必须有一个红帽帐户并登录到客户门户网站。

要从客户门户网站提交文档反馈,请执行以下操作:

  1. 选择 Multi-page HTML 格式。
  2. 点文档右上角的 反馈 按钮。
  3. 突出显示您要提供反馈的文本部分。
  4. 点高亮文本旁的添加反馈对话框。
  5. 在页面右侧的文本框中输入您的反馈,然后单击 Submit

每次提交反馈时,我们都会自动创建跟踪问题。打开在点 Submit 后显示的链接,并开始监视问题或添加更多注释。

感谢您的宝贵反馈。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

第 1 章 使用 Ansible 集合自动化 JBoss Web 服务器部署

Ansible 是一种信息技术(IT)自动化引擎,可用于自动化和简化云调配、配置管理、应用部署、服务编排,以及跨 IT 企业的其他任务。

Ansible 集合 是一种标准化的分发格式,可用于可重复使用的 Ansible 内容,如 playbook、角色、模块和插件。红帽提供一系列预先打包的 Red Hat Ansible 认证内容集合。您可以使用这些 Red Hat Ansible 认证内容集合来自动部署您系统中的各种 Red Hat Runtimes 产品,如 Red Hat JBoss Web Server。

1.1. Ansible 概念和优点

Ansible 包含各种元素,如 playbook、角色、内容集合和自动化执行环境。使用 Ansible 自动执行 IT 流程、工作流和基础架构生命周期,为企业带来多个好处。如果您不熟悉 Ansible 架构,或者您希望更多有关使用 Ansible 的好处的信息,请参阅以下 附加资源 链接。

1.2. JBoss Web 服务器集合

有关 JBoss Web 服务器集合的常规信息,请参阅 Red Hat Automation Hub 中的 Ansible Collection - redhat.jws 页面。Ansible Collection - redhat.jws 页面包含有关集合包含的角色的信息。您可以点角色的名称来查看这个角色的用途、任何要求或依赖项的详细信息,以及角色用于完成自动化任务的变量和默认设置列表。

第 2 章 安装 JBoss Web 服务器集合

作为使用 Ansible 自动安装红帽 JBoss Web 服务器部署的第一步,您必须从 Red Hat Automation Hub 下载并安装 JBoss Web 服务器集合。JBoss Web 服务器集合在 Red Hat Automation Hub 中名为 redhat.jws。在安装 JBoss Web 服务器集合前,您必须确保您的系统满足特定的先决条件。

前提条件

  • 您已安装 Red Hat Ansible Automation Platform 2,在您的系统中的控制节点上安装了 ansible-core 软件包版本 2.12 或更高版本。

    有关安装 Red Hat Ansible Automation Platform 的更多信息,请参阅 Red Hat Ansible Automation Platform 安装指南

  • 您已更新了 ansible.cfg 文件,以使用 Red Hat Automation hub 作为 Ansible 集合 的主源。有关更新 ansible.cfg 文件的更多信息,请参阅开始使用自动化中心

流程

  • 在 Ansible 控制节点上输入以下命令:

    $ ansible-galaxy collection install redhat.jws
    注意

    如果前面的命令生成 Failed to find collection redhat.jws:* 错误消息,请确定您已正确更新了 ansible.cfg 文件来使用 Red Hat Automation Hub,如 开始使用自动化中心 所述。

    前面的命令会产生以下输出:

    Starting galaxy collection install process
    
    Process install dependency map
    
    Starting collection install process
    
    [...]
    
    redhat.jws:1.2.x was installed successfully
    
    [...]

    在前面的输出中,1.2.x 代表所安装集合的完整版本号(如 1.2.1)。

验证

  • 在 Ansible 控制节点上输入以下命令:

    $ ansible-galaxy collection list

    上述命令显示安装的集合列表。例如:

    Collection                 Version
    -------------------------- -------
    redhat.jws                 1.2.x

    在前面的示例中,1.2.x 代表所安装集合的完整版本号(如 1.2.1)。

第 3 章 定义变量设置

JBoss Web 服务器集合提供了一组完整的变量和默认值,您可以手动更新以满足您的设置要求。这些变量设置提供 JBoss Web 服务器集合在目标主机上自动化并自定义安装红帽 JBoss Web 服务器所需的所有信息。

有关 JBoss Web 服务器集合提供的变量的完整列表,请参阅 Red Hat Automation Hub 中的 jws 角色的信息页jws 角色的信息页面列出了您可以定义的所有变量的名称、描述和默认值。

注意

您可以通过多种方式定义变量。默认情况下,JBoss Web Server 集合包含一个示例 playbook.yml 文件,该文件链接到同一 /playbooks 文件夹中的 vars.yml 文件。为了说明这一点,本节中的说明描述了如何在集合提供的 vars.yml 文件中定义变量。如果您愿意,您可以使用不同的方法定义变量。

您可以定义变量来自动执行以下任务:

您还可以通过向 playbook 添加自定义任务来自动执行 Web 应用部署,如 在目标主机上启用 JBoss Web 服务器应用程序自动化部署 中所述。

3.1. 启用 JBoss Web 服务器存档文件的自动安装

默认情况下,JBoss Web 服务器集合配置为从产品存档文件安装 JBoss Web 服务器。在使用 JBoss Web 服务器集合安装红帽 JBoss Web 服务器前,必须先获取 JBoss Web 服务器存档文件并将其复制到您的 Ansible 控制节点。复制存档文件后,您可以设置 jws_version 变量来指定要安装的产品版本。如果您决定更改本地主机上的存档文件的名称,您也可以定义变量来指定适当的文件名。

获取并设置产品存档文件的安装详情后,JBoss Web 服务器集合会在您随后运行 playbook 时自动提取这些文件并在目标主机上安装产品。

注意

如果系统上还没有提供 JBoss Web 服务器存档文件,您可以从红帽客户门户网站中手动下载归档文件,如此流程的 第 1 步所述。

流程

  1. 如果要从红帽客户门户网站下载 JBoss Web 服务器归档文件,请执行以下步骤:

    1. 在您的 Ansible 控制节点上,打开浏览器并 登录到红帽客户门户网站中的产品下载页面
    2. 从产品列表中,选择 Red Hat JBoss Web Server
    3. 在 Software Downloads 页面中,从 Version 下拉列表中选择您要安装的 JBoss Web Server 版本。
    4. Releases 选项卡上,点您要下载的每个存档文件旁边的 Download

      有关您必须下载的任何特定产品存档文件的更多信息,请参阅红帽 JBoss Web 服务器安装指南

      注意

      您不需要提取产品存档文件。JBoss Web 服务器集合自动处理提取存档文件。

  2. 要启用产品归档文件的自动安装,请执行以下步骤:

    1. 在您的 Ansible 控制节点上,打开 vars.yml 文件。
    2. 要指定要安装的 JBoss Web 服务器版本,请将 jws_version 变量设置为适当的基准版本。

      例如:

      [...]
      jws_version: 5.7.0
      注意

      确保您为 jws_version 变量指定的值与您要安装的产品存档文件的版本匹配。例如,要为 JBoss Web Server 5.7 安装基准存档文件,请指定值 5.7.0

    3. 如果还想为目标主机上的操作系统安装原生 JBoss Web 服务器存档,请将 jws_native 变量设置为 True

      例如:

      [...]
      jws_native: True
      注意

      默认情况下,jws_native 变量设为 False,这意味着 JBoss Web 服务器集合仅安装主应用服务器存档。

      如果将 jws_native 变量设置为 True,请确保还获取并复制适当的原生存档文件到 Ansible 控制节点。

    4. 如果您更改了 Ansible 控制节点上复制的存档文件的名称,请设置 zipfile_namejws_native_zipfile 变量来指定要安装的文件。

      例如:

      [...]
      zipfile_name: <application_server_file>
      jws_native_zipfile: <native_file>

      在前面的示例中,将 < application_server_file><native_file > 替换为适当的存档文件名。

      注意

      如果您尚未更改文件名,则不需要定义 zipfile_namejws_native_zipfile 变量。JBoss Web 服务器集合使用 jws_version 变量的值自动决定默认文件名。

  3. 将您的更改保存到 vars.yml 文件。

3.2. 启用 JBoss Web 服务器补丁更新自动安装

如果产品补丁更新可用于适当的 JBoss Web 服务器版本,您还可以使用 JBoss Web 服务器集合在目标主机上安装最新的累积修补程序。您都可以使用相同的步骤来自动安装补丁更新,无论您是否想在 5.7.0 版本或更高版本的同时安装更新。

默认情况下,JBoss Web 服务器集合配置为从产品存档文件安装 JBoss Web 服务器补丁更新。首先,您必须获取归档文件并将最新的补丁更新复制到 Ansible 控制节点。然后,必须将 jws_apply_patches 变量设置为 True。获取并启用最新的补丁更新后,JBoss Web 服务器集合会自动提取这些文件,并在随后运行 playbook 时在目标主机上安装更新。

注意

如果您的系统中没有包括最新补丁更新的归档文件副本,您可以从红帽客户门户网站中手动下载存档文件,如此流程的 第 1 步所述。

重要

您不能使用 累积补丁更新来安装产品基准(X.X.0)版本。例如,安装 5.7.2 补丁安装版本 5.7.1 和 5.7.2,但无法安装基准 5.7.0 版本。在这种情况下,您必须确保同时或之前安装了适当的产品基准版本。

流程

  1. 如果要下载来自红帽客户门户网站的最新 JBoss Web 服务器补丁更新的存档文件,请执行以下步骤:

    1. 在您的 Ansible 控制节点上,打开浏览器并 登录到红帽客户门户网站中的产品下载页面
    2. 从产品列表中,选择 Red Hat JBoss Web Server
    3. 在 Software Downloads 页面中的 Version 下拉列表中选择您安装的 JBoss Web Server 版本。
    4. Patches 选项卡,然后点您要下载该最新补丁更新的每个存档文件旁边的 Download

      有关您必须下载的任何特定产品存档文件的更多信息,请参阅红帽 JBoss Web 服务器安装指南

      注意

      补丁更新是累计的。您不需要为当前未安装的任何之前补丁更新下载存档文件。

      您不需要提取存档文件。JBoss Web 服务器集合自动处理提取存档文件。

  2. 要启用产品补丁更新自动安装,请执行以下步骤:

    1. 在您的 Ansible 控制节点上,打开 vars.yml 文件。
    2. jws_apply_patches 变量设置为 True

      例如:

      [...]
      jws_version: 5.7.0
      jws_native: True
      [...]
      jws_apply_patches: True
      注意

      确保将 jws_version 变量设置为适当的基准产品版本(如 5.7.0)。

      如果将 jws_native 变量设为 True,请确保您已获得并复制了适当的原生存档文件,以进行最新的补丁更新到 Ansible 控制节点。

      jws_apply_patches 变量设置为 True,使 JBoss Web 服务器集合可为 jws_version 变量中指定的基准产品版本安装最新支持的累积补丁。根据上例,当您随后运行 playbook 时,JBoss Web Server 集合会自动为 5.7 版本安装最新的累积补丁更新。

  3. 将您的更改保存到 vars.yml 文件。

3.3. 确保在目标主机上安装了 JDK

JBoss Web 服务器要求 Java 开发套件(JDK)已在目标主机上作为前提条件安装,以确保 JBoss Web 服务器已成功执行。JDK 包括 Java 运行时环境(JRE)和 Java 虚拟机(JVM),它必须在要运行 JBoss Web 服务器的任何主机上可用。有关 JBoss Web 服务器支持的 JDK 版本的完整列表,请参阅 JBoss Web Server 5 支持的配置

默认情况下,根据您已在目标主机上安装了支持的 JDK,JBoss Web 服务器集合不会自动安装 JDK。但是,为方便起见,您可以将 JBoss Web 服务器集合配置为在每个目标主机上自动安装受支持的 Red Hat OpenJDK 版本。

在使用 JBoss Web 服务器集合时,请考虑以下有关安装 JDK 的指南:

  • 如果要在目标主机上安装受支持的 Red Hat OpenJDK 版本,您可以将 jws_java_version 变量设置为适当的 JDK 版本(例如 1.8.01117)。您随后运行 playbook 时,JBoss Web 服务器集合会在每个目标主机上安装指定的 OpenJDK 版本。
  • 如果要安装受支持的 IBM JDK 或 Oracle JDK 版本,您必须在每个目标主机上安装 JDK,或使用您自己的 playbook 自动执行此过程。有关手动安装 IBM JDK 或 Oracle JDK 版本的更多信息,请参阅 Red Hat JBoss Web Server 安装指南。在这种情况下,您不需要设置变量。
  • 如果您已在目标主机上安装了受支持的 JDK,则不需要设置变量。
注意

如果您要让 JBoss Web 服务器集合在尚未安装受支持的 JDK 的目标主机上安装 Red Hat OpenJDK,请使用以下步骤。

流程

  1. 在您的 Ansible 控制节点上,打开 vars.yml 文件。
  2. jws_java_version 变量设置为您要安装的适当 OpenJDK 版本。

    例如:

    [...]
    jws_java_version: 1.8.0

    根据上例,当运行 playbook 时,JBoss Web Server 集合会在每个目标主机上安装 OpenJDK 8。

    注意

    另外,如果您想要 JBoss Web 服务器集合安装 Red Hat OpenJDK 版本 11 或 17,请将 jws_java_version 变量设置为值 1117

  3. 将您的更改保存到 vars.yml 文件。

3.4. 确保在目标主机上创建了产品用户和组

JBoss Web 服务器要求产品用户帐户和用户组已在您的目标主机上作为前提条件创建。默认情况下,JBoss Web 服务器集合通过在每个目标主机上创建一个 tomcat 用户帐户和一个 tomcat 组来处理这个要求。但是,如果您想要 JBoss Web 服务器集合来创建不同的用户帐户和组,您可以修改 JBoss Web 服务器集合的行为以满足您的设置要求。

产品用户帐户也被分配了 Tomcat 目录的所有权,以运行 Tomcat 服务。

注意

如果要启用 JBoss Web 服务器集合来创建不同的用户帐户和组,而不是 tomcat 默认值,请使用以下步骤。

流程

  1. 在您的 Ansible 控制节点上,打开 vars.yml 文件。
  2. jws_userjws_group 变量设置为您要创建的相应产品用户名和组名。

    例如:

    [...]
    jws_user: myuser
    jws_group: myuser

    根据上例,JBoss Web 服务器集合自动创建 myuser 用户帐户和组,而不是创建默认的 tomcat 用户帐户和组。

  3. 将您的更改保存到 vars.yml 文件。

3.5. 启用 JBoss Web 服务器与 systemd的自动化集成

您可以选择启用 JBoss Web 服务器集合将 JBoss Web 服务器设置为系统守护进程可以管理的服务。默认情况下,JBoss Web 服务器集合没有配置为将 JBoss Web 服务器与系统守护进程集成。如果您启用此功能,JBoss Web 服务器集合会在每个目标主机上自动将 JBoss Web 服务器设置为 jws5-tomcat 服务。但是,如果要使用不同的服务名称,您可以修改 JBoss Web 服务器集合的行为以满足您的设置要求。

当您将 JBoss Web 服务器与系统守护进程集成时,系统守护进程可以在系统启动时自动启动 JBoss Web 服务器服务。系统守护进程还提供启动、停止和检查产品状态的功能。默认系统守护进程是 systemd

注意

此配置任务是可选的,但推荐使用。

流程

  1. 在您的 Ansible 控制节点上,打开 vars.yml 文件。
  2. 要启用与 systemd 集成,将 jws_systemd_enabled 变量设置为 True

    例如:

    [...]
    jws_systemd_enabled: True
  3. 如果您希望 JBoss Web 服务器使用 jws5-tomcat 以外的服务名称,请将 jws_service_name 变量设置为适当的值。

    例如:

    [...]
    jws_service_name: jws

    根据上例,JBoss Web 服务器集合在运行 playbook 时,将产品设置为每个目标主机上的 jws 服务。

    注意

    如果您没有设置 jws_service_name 变量,JBoss Web 服务器集合会自动将该产品设置为 jws5-tomcat 服务。

  4. 将您的更改保存到 vars.yml 文件。

3.6. 启用自动化 JBoss Web 服务器配置任务

JBoss Web 服务器集合提供了一组完整的变量,可启用 JBoss Web 服务器安装的自动化配置。默认情况下,JBoss Web 服务器集合将 JBoss Web 服务器配置为侦听端口 8080 上的非安全 HTTP 连接。

其他产品功能(如以下)默认被禁用:

  • 支持安全 HTTPS 连接
  • mod_cluster 支持将 HTTP 服务器请求负载平衡到 JBoss Web 服务器后端
  • 在加密的 Java 密钥存储中存储敏感数据的密码库
  • 支持 SELinux 策略

要启用更广泛的产品功能,您可以定义变量来修改 JBoss Web 服务器集合的行为以满足您的设置要求。

注意

以下小节只描述了 JBoss Web 服务器集合可以执行的自动配置更新的子集。这些示例更新侧重于启用 HTTPS 连接支持、启用 mod_cluster 支持、启用密码库并启用 SELinux 策略。

有关 JBoss Web 服务器集合提供的变量的完整列表,请参阅红帽自动化中心 jws 角色的信息页面。有关配置和使用 JBoss Web 服务器功能的更多信息,请参阅红帽 JBoss Web 服务器文档页面

3.6.1. 在 JBoss Web 服务器中启用 HTTPS 支持自动配置

您可以配置 JBoss Web 服务器,以支持通过 HTTPS 协议支持 Web 客户端和 Web 服务器之间的安全加密连接。

在使用 JBoss Web 服务器集合时,请考虑以下有关启用 HTTPS 支持的指南:

  • 如果要启用 HTTPS 支持,您必须确保每个目标主机上存在 Java 密钥存储,然后再运行 playbook。JBoss Web 服务器集合不会自动提供或创建 Java 密钥存储。在这种情况下,您必须在目标主机上创建新的密钥存储,或将现有密钥存储文件复制到每个目标主机,如下所述。???
  • 要启用 HTTPS 支持,您可以将 jws_listen_https_enabled 变量设置为 True
  • 当您启用 HTTPS 支持时,JBoss Web 服务器集合使用 Java 密钥存储的适当路径和密码设置更新每个目标主机上的 server.xml 文件。默认情况下,JBoss Web 服务器集合使用 /etc/ssl/keystore.jkschangeit 的值在 server.xml 文件中配置这些路径和密码设置。但是,如果要使用不同的密钥存储路径或密钥存储密码,您可以修改 JBoss Web 服务器集合的行为以满足您的设置要求。

流程

  1. 如果要创建 Java 密钥存储,请执行以下步骤:

    1. 登录您要创建密钥存储的目标主机。

      注意

      确保已安装 JDK,并且目标主机上已设置了 JAVA_HOME 变量。

    2. 运行以下命令来创建密钥存储:

      $JAVA_HOME/bin/keytool -genkeypair -alias tomcat -keyalg RSA -keystore <path_to_keystore>

      在前面的命令中,将 & lt;path_to_keystore > 替换为您要创建的密钥存储文件的完整路径。如果没有指定 -keystore 选项,该命令会在一些默认位置创建密钥存储文件,该文件取决于您安装的 JDK 的版本。例如,如果您使用 Red Hat OpenJDK,则密钥存储的默认位置为 /etc/ssl/keystore.jks

      前面的 命令生成密钥存储文件,其中包含一对公钥和用于服务器身份验证的单一自签名证书。密钥对和自签名证书存储在单一密钥存储条目中,由 -alias 选项(如 tomcat)标识。

    3. keytool 命令提示您输入以下信息时,为设置输入适当的值:

      • 密钥存储密码(默认为,更改
      • 有关证书的一般信息
      • 证书的密钥密码(默认为 密钥存储密码)
    注意

    另外,您可以使用 Linux scp 命令在不同主机之间复制现有的密钥存储文件,而不是创建新的密钥存储。

  2. 要启用 HTTPS 连接支持,请执行以下步骤:

    1. Ansible 控制节点 上,打开 vars.yml 文件。
    2. jws_listen_https_enabled 变量设置为 True

      例如:

      [...]
      jws_listen_https_enabled: True
    3. 如果每个目标主机上的 Java 密钥存储位于 /etc/ssl/keystore.jks 以外的路径中,请将 jws_listen_https_keystore_file 变量设置为适当的值。

      例如:

      [...]
      jws_listen_https_keystore_file: <keystore_path>

      在前面的示例中,将 <keystore_path > 替换为每个目标主机上的密钥存储文件的完整路径。

      注意

      如果您没有设置 jws_listen_https_keystore_file 变量,JBoss Web 服务器集合会在 server.xml 文件中自动配置 server.xml 文件中的 certificateKeystoreFile 设置,值为 /etc/ssl/keystore.jks

    4. 如果每个目标主机上的 Java 密钥存储都使用 changeit 以外的密码,请将 jws_listen_https_keystore_password 变量设置为适当的值。

      例如:

      [...]
      jws_listen_https_keystore_password: <keystore_password>

      在前面的示例中,将 & lt;keystore_password > 替换为每个目标主机上 Java 密钥存储的正确密码。

      注意

      如果您没有设置 jws_listen_https_keystore_password 变量,则 JBoss Web 服务器集合会在 server.xml 中自动配置 server.xml 中的 certificateKeystorePassword 设置,值为 changeit

    5. 将您的更改保存到 vars.yml 文件。

3.6.2. 在 JBoss Web 服务器中启用 mod_cluster 支持自动配置

mod_cluster 连接器是减少配置和智能解决方案,用于向 JBoss Web 服务器后端负载平衡 Apache HTTP 服务器请求。mod_cluster 连接器还提供诸如实时负载平衡计算、应用程序生命周期管理、自动发现和多种协议支持等功能。要启用 mod_cluster 支持,您可以定义变量来启用 mod_cluster 侦听器,并为 mod_cluster 实例指定 IP 地址和端口值。

流程

  1. 在您的 Ansible 控制节点上,打开 vars.yml 文件。
  2. 要启用 mod_cluster 侦听器,请将 jws_modcluster_enabled 变量设置为 True

    例如:

    [...]
    jws_modcluster_enabled: True
  3. 要指定 mod_cluster 实例的 IP 地址和端口,请将 jws_modcluster_ipjws_modcluster_port 变量设置为适当的值。默认 IP 地址为 127.0.0.1。默认端口为 6666

    例如:

    [...]
    jws_modcluster_ip: <ip_address>
    jws_modcluster_port: <port>

    在前面的示例中,将 & lt;ip_address > 替换为目标主机上的 mod_cluster 实例的适当绑定地址,并将 <port > 替换为 mod_cluster 实例用于侦听传入请求的适当端口。

  4. 将您的更改保存到 vars.yml 文件。

有关使用 mod_cluster 的更多信息,请参阅 HTTP 连接器和负载平衡指南

3.6.3. 在 JBoss Web 服务器中启用密码库自动配置

您可以使用 JBoss Web 服务器的密码库来屏蔽密码和其他敏感字符串,并在加密的 Java 密钥存储中存储敏感信息。使用密码库时,您可以在 JBoss Web 服务器配置文件中停止存储明文密码。JBoss Web 服务器可以使用密码库搜索来自密钥存储的密码和其他敏感字符串。要启用密码库,您可以设置一系列变量,以指定密码库使用的各种文件和配置设置。

前提条件

流程

  1. 在您的 Ansible 控制节点上,打开 vars.yml 文件。
  2. 要将 vault.keystoreVAULT.datvault.properties 文件的路径指定为预备步骤的一部分,请将以下变量设置为适当的值:

    例如:

    [...]
    jws_vault_name: ./vault_files/vault.keystore
    jws_vault_data: ./vault_files/VAULT.dat
    jws_vault_properties: ./vault_files/vault.properties

在前面的示例中,请确保指定您配置为先决条件步骤中的正确路径。

  1. 要启用 vault 功能,将 jws_tomcat_vault_enabled 变量设置为 True

    例如:

    [...]
    jws_tomcat_vault_enabled: True
  2. 要指定密钥存储别名、密钥存储密码、迭代数和您为密码库配置的 salt 值,请将以下变量设置为相应的值:

    例如:

    [...]
    jws_tomcat_vault_alias: <keystore_alias>
    jws_tomcat_vault_storepass: <keystore_password>
    jws_tomcat_vault_iteration: <iteration_count>
    jws_tomcat_vault_salt: <salt>

    在前面的示例中,确保指定您配置为预备步骤中的相应值。

  3. 将您的更改保存到 vars.yml 文件。

有关使用密码库的更多信息,请参阅红帽 JBoss Web 服务器安装指南

3.6.4. 在 JBoss Web 服务器中启用 SELinux 策略自动配置

您可以使用安全增强型 Linux (SELinux)策略为 JBoss Web 服务器定义访问控制。这些策略是一组决定对产品的访问权限的规则。要启用 SELinux 策略的使用,您可以将 jws_selinux_enabled 变量设置为 True

前提条件

流程

  1. 在您的 Ansible 控制节点上,打开 vars.yml 文件。
  2. jws_selinux_enabled 变量设置为 True

    例如:

    [...]
    jws_selinux_enabled: True
  3. 将您的更改保存到 vars.yml 文件。

有关在 JBoss Web 服务器中使用 SELinux 策略的更多信息,请参阅红帽 JBoss Web 服务器安装指南

警告

核心 Ansible 引擎不支持 SELinux 策略。如果要启用 SELinux 策略,还必须在 Ansible 控制节点上安装来自 Ansible Galaxy 的社区集合。

要在 Ansible 控制节点上安装社区集合,请输入以下命令:

$ ansible-galaxy collection install community.general

3.7. 在目标主机上启用 JBoss Web 服务器应用程序的自动化部署

您还可以通过向 playbook 添加自定义任务,在目标 JBoss Web 服务器主机上自动部署 Web 应用程序。这要求您将 application .war 文件放在适当的目录中。

如果要在 JBoss Web 服务器已在运行时部署新的或更新的应用程序,JBoss Web 服务器集合提供了在部署应用程序时重新启动 Web 服务器的处理程序。

注意

以下步骤假定您已创建了自定义 playbook。

流程

  1. 在您的 Ansible 控制节点上,打开您的自定义 playbook。
  2. 在 playbook 的 tasks: 部分中,添加一个任务来部署适当的 Web 应用。

    例如:

    [...]
      tasks:
        [...]
        - name: "Deploy demo webapp"
          ansible.builtin.get_url:
            url: 'https://url_path/app_name.war'
            dest: "{{ jws_home }}/webapps/app_name.war"
          notify:
            - Restart Tomcat service
    [...]

    在前面的示例中,将 & lt;url_path > 和 <app_name > 替换为您要部署的应用程序的正确路径和 .war 文件名。

  3. 将您的更改保存到 playbook。

第 4 章 运行 playbook

定义变量设置后,您可以运行 playbook 来开始自动化安装过程。您可以通过在控制节点上使用 ansible-playbook 命令或使用 Red Hat Ansible 自动化控制器 来运行 playbook。然后,JBoss Web 服务器集合可自动处理所有安装和部署任务。

注意

以下步骤假设您已经创建和更新了一个自定义 playbook。

前提条件

  • 您已 定义了变量设置
  • 您的 playbook 包括一个指向您定义变量的位置的适当链接。

    例如:

    ---
    - name: "Red Hat JBoss Web Server installation and configuration"
      hosts: all
      become: true
      vars_files:
        - <path_to_vars_file>/vars.yml
    [...]

    前面的示例假定您已在 vars.yml 文件中定义了变量。将 <path_to_vars_file > 替换为适当的路径。

  • 您的目标主机上已安装了受支持的操作系统。有关 JBoss Web 服务器支持的操作系统版本的完整列表,请参阅 JBoss Web Server 5 支持的配置

流程

  • 执行以下步骤之一:

    • 在 Ansible 控制节点上输入以下命令:

      $ ansible-playbook <playbook_name>.yml

      在前面的命令中,将 &lt ;playbook_name > 替换为已分配给您的 playbook 的名称。

    • 使用 Red Hat Ansible 自动化控制器来运行您的 playbook。有关自动化控制器入门的更多信息,请参阅 Red Hat Ansible Automation Platform 文档页面。

第 5 章 验证部署

成功运行 playbook 后,JBoss Web 服务器集合会在目标主机上自动安装红帽 JBoss Web 服务器。如果您已将自定义任务添加到 playbook 中,Ansible 还会根据需要自动在目标主机上部署任何 JBoss Web 服务器应用程序。您可以通过在目标主机上使用 systemctl 命令,或者在远程主机上使用 curl 命令来检查 JBoss Web 服务器的状态。

前提条件

流程

  1. 可选:在 JBoss Web 服务器主机上,以 root 用户身份输入以下命令:

    # systemctl status <service_name>

    在前面的命令中,将 &lt ;service_name& gt; 替换为 JBoss Web Server 安装的正确服务名称。默认服务名称为 tomcat。有关设置服务名称的更多信息,请参阅 使用 systemd自动集成 JBoss Web 服务器

    注意

    此步骤要求 JBoss Web 服务器与 systemd 集成。

  2. 可选: 在 远程主机 中,以 root 用户身份输入以下命令:

    # curl http://<target_host>:8080/

    在前面的命令中,将 & lt;target_host > 替换为您要访问的 JBoss Web Server 主机的 IP 地址或主机名。前面的 命令假定可通过默认端口 8080 访问 JBoss Web 服务器,并且目标防火墙和网络允许远程访问该端口。

注意

JBoss Web 服务器集合还在 /playbooks 文件夹中包含 validate.yml playbook。如果您希望 JBoss Web 服务器集合来执行自动验证检查,您可以运行 validate.yml playbook。如需有关 validate.yml playbook 的更多信息,请参阅 Red Hat Automation Hub 中的 jws_validation 角色的 信息页面。