Red Hat Ansible Certified Content Collection を使用した JBoss Web Server のインストール


Red Hat JBoss Web Server 5.7

Red Hat Ansible Certified Content Collection を使用した JBoss Web Server 6.0 のデプロイメントの自動化

Red Hat Customer Content Services

概要

Red Hat Ansible Certified Content Collection をインストールして使用し、JBoss Web Server のデプロイメントを自動化します。

はじめに

Red Hat JBoss Web Server 用の Red Hat Ansible Certified Content Collection は、Red Hat が提供する事前にパッケージ化された Ansible コンテンツコレクションです。Red Hat Ansible Certified Content Collection を使用して、Red Hat JBoss Web Server 製品のインストールと設定を自動化できます。カスタマイズされたタスクを Playbook に追加して、自動化された製品のインストールと同時に、または後で JBoss Web Server アプリケーションのデプロイメントを自動化することもできます。

注記

このドキュメントの残りの部分では、Red Hat JBoss Web Server の Red Hat Ansible Certified Content Collection を JBoss Web Server collection と呼びます。

Red Hat JBoss Web Server ドキュメントへのフィードバック

エラーを報告したり、ドキュメントの改善を提案したりするには、Red Hat Jira アカウントにログインし、課題を送信してください。Red Hat Jira アカウントをお持ちでない場合は、アカウントを作成するように求められます。

手順

  1. 次のリンクをクリックして チケットを作成 します。
  2. Summary に課題の簡単な説明を入力します。
  3. Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL も記載してください。
  4. Submit をクリックすると、課題が作成され、適切なドキュメントチームに転送されます。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 Ansible コレクションを使用した JBoss Web Server デプロイメントの自動化

Ansible は、IT エンタープライズ全体でクラウドプロビジョニング、設定管理、アプリケーションのデプロイメント、サービス内オーケストレーション、およびその他のタスクを自動化および簡素化するために使用できる情報技術 (IT) 自動化エンジンです。

Ansible コレクション は、Playbook、ロール、モジュール、プラグインなどの再利用可能な Ansible コンテンツの標準化された配布形式です。Red Hat は、事前にパッケージ化された一連の Red Hat Ansible Certified Content Collections を提供します。これらの Red Hat Ansible Certified Content Collections を使用して、Red Hat JBoss Web Server などのさまざまな Red Hat Runtimes 製品をシステムに自動デプロイできます。

1.1. Ansible の概念と利点

Ansible には、Playbook、ロール、コンテンツコレクション、自動化実行環境などのさまざまな要素が含まれています。Ansible を使用して IT プロセス、ワークフロー、およびインフラストラクチャーのライフサイクルを自動化すると、企業に複数のメリットがもたらされます。Ansible アーキテクチャーに慣れていない、または Ansible を使用する利点を詳しく知りたい場合は、次の 関連情報 のリンクを参照してください。

1.2. JBoss Web Server コレクション

JBoss Web Server コレクションに関する一般的な情報は、Ansible Automation HubAnsible Collection - redhat.jws ページを参照してください。Ansible Collection - redhat.jws ページには、コレクションに含まれるロールに関する情報が含まれています。ロールの名前をクリックすると、このロールの目的、要件または依存関係、ロールが自動化タスクを完了するために使用する変数とデフォルト設定のリストに関する詳細を表示できます。

第2章 JBoss Web Server コレクションのインストール

Ansible を使用して Red Hat JBoss Web Server のデプロイメントを自動化するための最初のステップとして、Ansible Automation Hub から JBoss Web Server コレクションをダウンロードしてインストールする必要があります。JBoss Web Server コレクションは、Ansible Automation Hubredhat.jws という名前です。JBoss Web Server コレクションをインストールする前に、システムが特定の前提条件に準拠していることを確認する必要があります。

前提条件

  • Red Hat Ansible Automation Platform 2.x をインストールして、システムのコントロールノードに ansible-core パッケージバージョン 2.16 以降がインストールされている。

    Red Hat Ansible Automation Platform のインストールに関する詳細は、Red Hat Ansible Automation Platform インストールガイド を参照してください。

  • Ansible コレクションの プライマリーソース として Ansible Automation Hub を使用するように ansible.cfg ファイルを更新している。ansible.cfg ファイルの更新の詳細は、Automation Hub のスタートガイド を参照してください。

手順

  • Ansible コントロールノードで、次のコマンドを入力します。

    $ ansible-galaxy collection install redhat.jws
    Copy to Clipboard Toggle word wrap
    注記

    上記のコマンドで Failed to find collection redhat.jws:* エラーメッセージが生成された場合は、Automation Hub のスタートガイド で説明されているように、Ansible Automation Hub を使用するように ansible.cfg ファイルを正しく更新したことを確認してください。

    上記のコマンドにより、次の出力が生成されます。

    Starting galaxy collection install process
    
    Process install dependency map
    
    Starting collection install process
    
    ...
    
    redhat.jws:<version> was installed successfully
    
    ...
    
    redhat.runtimes_common:<version> was installed successfully
    
    ...
    
    ansible.posix:<version> was installed successfully
    Copy to Clipboard Toggle word wrap

    前述の例では、省略記号を使用して省略されたテキストを示し、簡略化しています。上記の出力で、< version > は、インストールされている redhat.jwsredhat.runtimes_common、および ansible.posix コレクションの利用可能な最新バージョンを表します。

検証

  • Ansible コントロールノードで、次のコマンドを入力します。

    $ ansible-galaxy collection list
    Copy to Clipboard Toggle word wrap

    上記のコマンドは、インストールされているコレクションのリストを表示します。以下に例を示します。

    Collection                 Version
    -------------------------- -------
    ansible.posix              <version>
    redhat.jws                 <version>
    redhat.runtimes_common     <version>
    ...
    Copy to Clipboard Toggle word wrap

前の例に示すように、redhat.jws コレクションをインストールすると、ansible.posix および redhat.runtimes_common コレクションの最新バージョンも自動的にダウンロードされ、Ansible コントロールノードにインストールされます。redhat.runtimes_common コレクションは、JBoss Web Server などのさまざまな Red Hat Runtimes 製品の自動デプロイメントをサポートする標準ユーティリティーのセットを提供します。

注記

ansible.posix および redhat.runtimes_common コレクションの最新バージョンが Ansible コントロールノードにすでに存在する場合、これらのコレクションは自動的に再インストールされません。

第3章 JBoss Web Server の自動デプロイメントの有効化

JBoss Web Server コレクションは、セットアップ要件に合わせて手動で更新できる変数とデフォルト値の包括的なセットを提供します。これらの変数設定は、ターゲットホスト上で Red Hat JBoss Web Server の自動化およびカスタマイズされたインストールを完了するために JBoss Web Server コレクションに必要なすべての情報を提供します。

JBoss Web Server コレクションが提供する変数の完全なリストは、Ansible Automation Hubjws ロールの情報ページ を参照してください。jws ロールの情報ページには、定義できるすべての変数の名前、説明、およびデフォルト値が一覧表示されます。

注記

複数の方法で変数を定義できます。デフォルトでは、JBoss Web Server コレクションには、同じ playbooks フォルダー内の vars.yml ファイルにリンクするサンプルの playbook.yml ファイルが含まれています。説明のために、このセクションの手順では、コレクションが提供する vars.yml ファイルで変数を定義する方法を説明します。必要に応じて、別の方法で変数を定義することもできます。

変数を定義して、次のタスクを自動化できます。

ターゲットホストでの JBoss Web Server アプリケーションの自動デプロイメントの有効化 で説明されているように、カスタマイズされたタスクを Playbook に追加することで、Web アプリケーションのデプロイメントを自動化することもできます。

3.1. アーカイブファイルからの JBoss Web Server の自動インストールの有効化

デフォルトでは、JBoss Web Server コレクションは、製品アーカイブファイルから各ターゲットホストに Red Hat JBoss Web Server をインストールするように設定されています。セットアップ要件に応じて、JBoss Web Server コレクションを有効にして、製品のベースリリース、製品パッチ更新、またはその両方をアーカイブファイルから同時にインストールできます。Red Hat カスタマーポータルからアーカイブファイルを手動でダウンロードするか、JBoss Web Server コレクションを有効にしてアーカイブファイルを自動的にダウンロードするかを選択できます。

3.1.1. JBoss Web Server ベースリリースの自動インストールの有効化

JBoss Web Server コレクションを有効にして、指定した JBoss Web Server バージョンのベースリリースを製品アーカイブファイルからインストールできます。ベースリリースは、特定の製品バージョンの最初のリリースです (例: 6.0.0 はバージョン 6.0 のベースリリースです)。

JBoss Web Server コレクションでは、適切なアーカイブファイルのローカルコピーが Ansible コントロールノードで利用できる必要があります。アーカイブファイルのコピーがまだシステム上にない場合は、変数を設定して Red Hat サービスアカウントの認証情報を指定し、Red Hat カスタマーポータルからのファイルの自動ダウンロードを許可できます。または、アーカイブファイルを手動でダウンロードすることもできます。

前提条件

  • JBoss Web Server コレクションがインストールされている
  • JBoss Web Server アーカイブファイルのコピーがすでにシステム上にある場合は、これらのアーカイブファイルが Ansible コントロールノードにコピーされている。
  • JBoss Web Server コレクションで Red Hat カスタマーポータルからアーカイブファイルを自動的にダウンロードする場合は、Red Hat サービスアカウントを作成済みである。

    注記

    サービスアカウントを使用すると、エンドユーザーの認証情報や直接の操作を必要とせずに、サービスやアプリケーションにセキュアかつ自動的に接続して認証できます。サービスアカウントを作成するには、Red Hat Hybrid Cloud Console の Service Accounts ページ にログインし、Create service account をクリックします。

  • アーカイブファイルを手動でダウンロードする場合は、適切なアーカイブファイルが Ansible コントロールノードにダウンロードされている。詳細は、Red Hat JBoss Web Server インストールガイド を参照してください。

    注記

    アーカイブファイルを手動でダウンロードする場合は、Ansible コントロールノードでこれらのファイルを抽出する必要はありません。この場合、JBoss Web Server コレクションはアーカイブファイルを自動的に展開します。

手順

  1. Ansible コントロールノードで、vars.yml ファイルを開きます。
  2. インストールする JBoss Web Server のバージョンを指定するには、jws_version 変数を適切なベースリリースに設定します。

    以下に例を示します。

    [...]
    jws_version: 5.7.0
    Copy to Clipboard Toggle word wrap
    注記

    jws_version 変数に指定する値が、インストールする製品アーカイブファイルのバージョンと一致していることを確認してください。たとえば、JBoss Web Server 6.0 のアーカイブファイルをインストールするには、値 6.0.0 を指定します。

    デフォルトでは、JBoss Web Server コレクションは、メインアプリケーションサーバーアーカイブと、指定した製品バージョンのネイティブアーカイブの両方をインストールするように設定されています。jws_native 変数を False に設定すると、JBoss Web Server コレクションはネイティブアーカイブをインストールできないため、ネイティブアーカイブファイルのインストールを必要とする SELinux ポリシーなどの機能で問題が発生します。

    ステップ 3 で説明されているように、自動ファイルダウンロードの認証情報を指定しない場合は、指定した製品バージョンのアーカイブファイルを Ansible コントロールノードにコピーしていることを確認してください。このような場合は、コピーしたネイティブアーカイブファイルが、ターゲットホストにインストールされているオペレーティングシステムのバージョンと一致していることを確認します。

  3. JBoss Web Server アーカイブファイルのコピーが Ansible コントロールに存在しない場合、コレクションはデフォルトで Red Hat カスタマーポータルに接続し、アーカイブファイルを自動的にダウンロードします。Red Hat カスタマーポータルとの接続を確実に成功させるには、rhn_username 変数と rhn_password 変数を設定して、Red Hat サービスアカウントの認証情報を指定します。

    以下に例を示します。

    [...]
    rhn_username: <client_ID>
    rhn_password: <client_secret>
    Copy to Clipboard Toggle word wrap

    上記の例では、<client_ID><client_secret> を、Red Hat サービスアカウントに関連付けられているクライアント ID とシークレットに置き換えます。

    注記

    デフォルトでは、コレクションは、どのネイティブアーカイブファイルがターゲットホストにインストールされているオペレーティングシステムのバージョンと一致するかを自動的に判別します。適切なアーカイブファイルのコピーが Ansible コントロールノードにすでに存在する場合、コレクションはこれらのアーカイブファイルを再度ダウンロードしません。

    アーカイブファイルを手動でダウンロードする場合や、これらのファイルを別の方法ですでに取得している場合は、完全なオフラインインストールを強制できます。オフラインインストールの強制に関する詳細は、JBoss Web Server 製品パッチ更新の自動インストールの有効化 を参照してください。

  4. Ansible コントロールノードでダウンロードしたアーカイブファイルの名前を変更した場合は、zipfile_name 変数と jws_native_zipfile 変数を設定して、インストールするファイルを指定します。

    以下に例を示します。

    [...]
    zipfile_name: <application_server_file>
    jws_native_zipfile: <native_file>
    Copy to Clipboard Toggle word wrap

    前の例で、<application_server_file><native_file> を適切なアーカイブファイル名に置き換えます。

    注記

    ファイル名を変更しなかった場合は、zipfile_name 変数と jws_native_zipfile 変数を設定する必要はありません。JBoss Web Server コレクションは、jws_version 変数の値を使用して、デフォルトのファイル名を自動的に決定します。

  5. 変更を vars.yml ファイルに保存します。

これらの変数を必要に応じて設定すると、その後 Playbook を実行するときに、JBoss Web Server コレクションがターゲットホストに製品のベースリリースを自動的にインストールできるようになります。

3.1.2. JBoss Web Server パッチ更新の自動インストールの有効化

インストールしている JBoss Web Server バージョンで製品パッチの更新が利用可能な場合は、JBoss Web Server コレクションを有効にして、これらのパッチ更新をアーカイブファイルからインストールすることもできます。要件に応じて、JBoss Web Server コレクションを有効にして、利用可能な最新のパッチまたは指定したパッチリリースをインストールできます。ベースリリース以降のバージョンと同時にこれらの更新をインストールするかどうかに関係なく、同じ手順を使用してパッチ更新の自動インストールを有効にできます。

JBoss Web Server コレクションでは、適切なアーカイブファイルのローカルコピーが Ansible コントロールノードで利用できる必要があります。アーカイブファイルのコピーがまだシステム上にない場合は、変数を設定して Red Hat サービスアカウントの認証情報を指定し、Red Hat カスタマーポータルからのファイルの自動ダウンロードを許可できます。または、アーカイブファイルを手動でダウンロードすることもできます。

注記

パッチ更新は累積的です。つまり、各パッチ更新には、同じ製品バージョンで利用可能な以前のパッチリリースが自動的に含まれます。たとえば、6.0.2 パッチ更新には 6.0.1 リリースが含まれ、6.0.3 パッチ更新には 6.0.1 および 6.0.2 リリースが含まれます。

重要

累積パッチ更新を使用して、製品バージョンのベース (X.X.0) リリースをインストールすることは できません。たとえば、6.0.2 パッチには 6.0.1 リリースが含まれますが、6.0.2 パッチでベース 6.0.0 リリースをインストールすることはできません。この状況では、適切な製品バージョンのベースリリース (6.0.0 など) も同時に、または事前にインストールされていることを確認する必要があります。

前提条件

  • JBoss Web Server コレクションがインストールされている
  • インストールするパッチ更新のアーカイブファイルのコピーがすでにシステムに存在する場合は、これらのアーカイブファイルを Ansible コントロールノードにコピーしている。
  • JBoss Web Server コレクションで Red Hat カスタマーポータルからアーカイブファイルを自動的にダウンロードする場合は、Red Hat サービスアカウントを作成済みである。

    注記

    サービスアカウントを使用すると、エンドユーザーの認証情報や直接の操作を必要とせずに、サービスやアプリケーションにセキュアかつ自動的に接続して認証できます。サービスアカウントを作成するには、Red Hat Hybrid Cloud Console の Service Accounts ページ にログインし、Create service account をクリックします。

  • アーカイブファイルを手動でダウンロードする場合は、適切なアーカイブファイルが Ansible コントロールノードにダウンロードされている。詳細は、Red Hat JBoss Web Server インストールガイド を参照してください。

    注記

    パッチ更新は累積的であるため、インストールするパッチリリースのアーカイブファイルをダウンロードするだけで済みます。以前のパッチ更新をダウンロードする必要はありません。

    アーカイブファイルを手動でダウンロードする場合は、Ansible コントロールノードでこれらのファイルを抽出する必要はありません。この場合、JBoss Web Server コレクションはアーカイブファイルを自動的に展開します。

手順

  1. Ansible コントロールノードで、vars.yml ファイルを開きます。
  2. jws_apply_patches 変数を True に設定します。

    以下に例を示します。

    [...]
    jws_version: 5.7.0
    [...]
    jws_apply_patches: True
    Copy to Clipboard Toggle word wrap
    注記

    jws_version 変数が適切な製品バージョンのベースリリース (例: 6.0.0) に設定されていることを確認します。

    JBoss Web Server コレクションは、デフォルトで最新のパッチ更新をインストールするように設定されています。コレクションは Red Hat カスタマーポータルに接続して、インストールする正しいパッチを決定します。

  3. 最新のパッチ更新ではなく、指定したパッチリリースをコレクションにインストールする場合は、jws_patch_version 変数を、インストールするパッチリリースに設定します。

    以下に例を示します。

    [...]
    jws_apply_patches: True
    jws_patch_version: 5.7.2
    Copy to Clipboard Toggle word wrap

    上記の例に基づくと、新しいパッチが利用可能な場合でも、コレクションは 6.0.2 累積パッチのみをインストールします。

  4. jws_apply_patches 変数が True に設定されている場合、JBoss Web Server コレクションはデフォルトで Red Hat カスタマーポータルに接続し、新しいパッチ更新が利用可能かどうかを確認します。このコレクションは、必要に応じてパッチ更新もダウンロードします。Red Hat カスタマーポータルとの接続を確実に成功させるには、rhn_username 変数と rhn_password 変数を設定して、Red Hat サービスアカウントの認証情報を指定します。

    以下に例を示します。

    [...]
    rhn_username: <client_ID>
    rhn_password: <client_secret>
    Copy to Clipboard Toggle word wrap

    上記の例では、<client_ID><client_secret> を、Red Hat サービスアカウントに関連付けられているクライアント ID とシークレットに置き換えます。

    注記

    デフォルトでは、コレクションは、どのネイティブアーカイブファイルがターゲットホストにインストールされているオペレーティングシステムのバージョンと一致するかを自動的に判別します。適切なアーカイブファイルのコピーが Ansible コントロールノードにすでに存在する場合、コレクションはこれらのアーカイブファイルを再度ダウンロードしません。

    jws_patch_version 変数が特定のパッチリリースに設定されている場合、新しいパッチが利用可能な場合でも、コレクションは指定したパッチリリースのみをダウンロードします。

    アーカイブファイルを手動でダウンロードする場合や、これらのファイルを別の方法ですでに取得している場合は、ステップ 5 の説明に従って完全なオフラインインストールを強制できます。

  5. 完全なオフラインインストールを強制し、コレクションが Red Hat カスタマーポータルに接続しないようにするには、jws_offline_install 変数を True に設定します。

    以下に例を示します。

    [...]
    jws_offline_install: True
    Copy to Clipboard Toggle word wrap
    注記

    jws_offline_install 変数は、Ansible コントロールノードがインターネットにアクセスできない場合や、コレクションがファイルのダウンロードのために Red Hat カスタマーポータルに接続することを回避したい場合に役立ちます。この場合は、jws_patch_version 変数を、インストールするパッチリリースに設定する必要があります。

    適切なパッチ更新のアーカイブファイルを Ansible コントロールノードにコピーしている。このような場合は、コピーしたネイティブアーカイブファイルが、ターゲットホストにインストールされているオペレーティングシステムのバージョンと一致していることを確認します。

    jws_offline_install 変数を True に設定した場合は、ファイルの自動ダウンロードを許可するように rhn_username 変数と rhn_password 変数を設定していても、コレクションは Red Hat カスタマーポータルに接続しようとしません。

  6. 変更を vars.yml ファイルに保存します。

これらの変数を必要に応じて設定すると、その後 Playbook を実行するときに、JBoss Web Server コレクションがターゲットホストに製品修正アップデートを自動的にインストールできるようになります。

3.2. RPM パッケージからの JBoss Web Server の自動インストールの有効化

JBoss Web Server コレクションを有効にして、RPM パッケージから各ターゲットホストに Red Hat JBoss Web Server をインストールできます。この場合、JBoss Web Server コレクションは Red Hat から直接 RPM パッケージを自動的に取得します。

注記

RPM インストール方法を有効にすると、JBoss Web Server コレクションは、JBoss Web Server の指定されたメジャーバージョンの最新の RPM パッケージ (マイナーバージョンやパッチ更新を含む) をインストールします。

手順

  1. Ansible コントロールノードで、vars.yml ファイルを開きます。
  2. インストールする JBoss Web Server のバージョンを指定するには、jws_version 変数を適切なメジャー製品バージョンに設定します。

    以下に例を示します。

    [...]
    jws_version: 5.7.0
    Copy to Clipboard Toggle word wrap
    注記

    この状況では、JBoss Web Server コレクションは、指定された値の最初の数字をチェックして、インストールするメジャー製品バージョンを決定します。たとえば、JBoss Web Server 6 で利用可能な最新の RPM パッケージをコレクションにインストールする場合は、値 6.0.0 を指定できます。指定したマイナーバージョンとリリース番号 (例: 0.0) に関係なく、コレクションは、最新のマイナーバージョンと、指定したメジャーバージョンのパッチリリースのパッケージをインストールします。

  3. RPM パッケージからのインストールを有効にするには、jws_install_method 変数を rpm に設定します。

    以下に例を示します。

    [...]
    jws_install_method: rpm
    Copy to Clipboard Toggle word wrap
  4. 変更を vars.yml ファイルに保存します。

これらの変数を設定すると、後で Playbook を実行するときに、JBoss Web Server コレクションが指定された製品バージョンの RPM パッケージを取得し、当該 RPM パッケージをターゲットホストに自動的にインストールできるようになります。

注記

JBoss Web Server 6.0 の RPM パッケージのインストールを有効にすると、コレクションが JBoss Web Server を /opt/rh/jws6/root/usr/share/tomcat ディレクトリーにインストールします。別のインストールディレクトリーを使用する場合は、各ターゲットホストで /opt/rh/jws6/root/usr/share/tomcat へのシンボリックリンクを手動で作成できます。

3.3. ターゲットホストに JDK がインストールされていることの確認

JBoss Web Server では、JBoss Web Server が正常に動作するように、前提条件としてターゲットホストに Java Development Kit (JDK) がすでにインストールされている必要があります。JDK には、Java ランタイム環境 (JRE) と Java 仮想マシン (JVM) が含まれており、JBoss Web Server を実行するすべてのホストで利用できる必要があります。JBoss Web Server がサポートする JDK バージョンの完全なリストについては、JBoss Web Server 5 Supported Configurations を参照してください。

デフォルトでは、JBoss Web Server コレクションは JDK を自動的にインストールしません。これは、サポートされている JDK がこれらのターゲットホストにすでにインストールされているという前提に基づいています。ただし、便宜上、Red Hat build of OpenJDK のサポートされているバージョンを各ターゲットホストに自動的にインストールするように JBoss Web Server コレクションを設定できます。

JBoss Web Server コレクションを使用する場合は、JDK をインストールするための次のガイドラインを考慮してください。

  • サポートされているバージョンの Red Hat build of OpenJDK をターゲットホストにインストールする場合は、jws_java_version 変数を適切な JDK バージョン (例: 1.8.011、または 17) に設定できます。JBoss Web Server コレクションは、その後 Playbook を実行するときに、Red Hat build of OpenJDK バージョンの指定された各ターゲットホストに自動的にインストールします。
  • サポートされているバージョンの IBM JDK または Oracle JDK をインストールする場合は、JDK を各ターゲットホストに手動でインストールする必要があります。または、独自の Playbook を使用してこのプロセスを自動化することもできます。IBM JDK または Oracle JDK のバージョンを手動でインストールする方法は、Red Hat JBoss Web Server インストールガイド を参照してください。この場合、変数を設定する必要はありません。
  • サポートされている JDK がターゲットホストにすでにインストールされている場合は、変数を設定する必要はありません。
注記

JBoss Web Server コレクションを有効にして、サポートされている JDK がまだインストールされていないターゲットホストに Red Hat build of OpenJDK をインストールできるようにする場合は、次の手順を使用します。

手順

  1. Ansible コントロールノードで、vars.yml ファイルを開きます。
  2. jws_java_version 変数を、インストールする適切な OpenJDK バージョンに設定します。

    以下に例を示します。

    [...]
    jws_java_version: 1.8.0
    Copy to Clipboard Toggle word wrap

    前述の例に基づいて、Playbook を実行すると、JBoss Web Server コレクションは各ターゲットホストに Red Hat build of OpenJDK 8 を自動的にインストールします。

    注記

    あるいは、JBoss Web Server コレクションに Red Hat build of OpenJDK バージョン 11 または 17 をインストールする場合は、必要に応じて jws_java_version 変数の値を 11 または 17 に設定します。

    ターゲットホストが Red Hat Enterprise Linux 9 で実行されている場合、サポートされる OpenJDK バージョンは Red Hat build of OpenJDK 11 および Red Hat build of OpenJDK 17 のみです。

  3. 変更を vars.yml ファイルに保存します。

3.4. ターゲットホストで製品ユーザーとグループが作成されていることの確認

JBoss Web Server では、製品のユーザーアカウントとユーザーグループが前提条件としてターゲットホスト上に作成されている必要があります。デフォルトでは、JBoss Web Server コレクションは、各ターゲットホストで tomcat ユーザーアカウントと tomcat グループを自動的に作成することで、この要件を処理します。ただし、JBoss Web Server コレクションで別のユーザーアカウントとグループを作成する場合は、設定要件に合わせて JBoss Web Server コレクションの動作を変更できます。

製品ユーザーアカウントには、Tomcat サービスを実行するための Tomcat ディレクトリーの所有権も割り当てられます。

注記

JBoss Web Server コレクションが tomcat のデフォルト値ではなく別のユーザーアカウントとグループを作成できるようにする場合は、次の手順を使用します。

手順

  1. Ansible コントロールノードで、vars.yml ファイルを開きます。
  2. jws_user 変数と jws_group 変数を、作成する適切な製品ユーザー名とグループ名に設定します。

    以下に例を示します。

    [...]
    jws_user: myuser
    jws_group: myuser
    Copy to Clipboard Toggle word wrap

    前の例に基づいて、JBoss Web Server コレクションは、デフォルトの tomcat ユーザーアカウントとグループを作成する代わりに、myuser ユーザーアカウントとグループを自動的に作成します。

  3. 変更を vars.yml ファイルに保存します。

3.5. JBoss Web Server と systemd の自動統合の有効化

オプションで、JBoss Web Server コレクションを有効にして、システムデーモンが管理できるサービスとして JBoss Web Server を設定できます。デフォルトでは、JBoss Web Server コレクションは、JBoss Web Server をシステムデーモンと統合するように設定されていません。この機能を有効にすると、JBoss Web Server コレクションは、各ターゲットホストで JBoss Web Server を jws5‑tomcat サービスとして自動的にセットアップします。ただし、別のサービス名を使用したい場合は、設定要件に合わせて JBoss Web Server コレクションの動作を変更できます。

JBoss Web Server をシステムデーモンと統合すると、システムデーモンはシステム起動時に JBoss Web Server サービスを自動的に開始できます。システムデーモンは、製品の起動、停止、およびステータスの確認を行う機能も提供します。デフォルトのシステムデーモンは systemd です。

注記

この設定タスクはオプションですが、推奨されます。

手順

  1. Ansible コントロールノードで、vars.yml ファイルを開きます。
  2. systemd との統合を有効にするには、jws_systemd_enabled 変数を True に設定します。

    以下に例を示します。

    [...]
    jws_systemd_enabled: True
    Copy to Clipboard Toggle word wrap
  3. JBoss Web Server で jws5‑tomcat 以外のサービス名を使用する場合は、jws_service_name 変数を適切な値に設定します。

    以下に例を示します。

    [...]
    jws_service_name: jws
    Copy to Clipboard Toggle word wrap

    前の例に基づいて、JBoss Web Server コレクションは、Playbook を実行すると、各ターゲットホストで製品を jws サービスとしてセットアップします。

    注記

    jws_service_name 変数を設定しない場合、JBoss Web Server コレクションは製品を jws5‑tomcat サービスとして自動的に設定します。

  4. Red Hat build of OpenJDK の自動インストールを有効にしなかった場合は、ターゲットホストにインストールされている JDK への完全なパスを指定するように jws_java_home 変数も設定します。

    以下に例を示します。

    [...]
    jws_java_home: <JAVA_HOME path>
    Copy to Clipboard Toggle word wrap
    注記

    Red Hat build of OpenJDK の自動インストールを有効にしていない場合、systemd との統合を確実に成功させるには、jws_java_home 変数を設定する必要があります。

    ターゲットホストに JDK がインストールされていることの確認 で説明されているように、Red Hat build of OpenJDK の自動インストールを有効にしている場合、この手順は必要ありません。

  5. 変更を vars.yml ファイルに保存します。

3.6. 自動化された JBoss Web Server 設定タスクの有効化

JBoss Web Server コレクションは、JBoss Web Server インストールの自動設定を可能にする変数の包括的なセットを提供します。デフォルトでは、JBoss Web Server コレクションは JBoss Web Server がポート 8080 で非セキュア HTTP 接続をリッスンするように設定します。

次のようなその他の製品機能は、デフォルトで無効になっています。

  • セキュアな HTTPS 接続のサポート
  • JBoss Web Server バックエンドへの HTTP サーバーリクエストを負荷分散するための Mod_cluster サポート
  • 機密データを暗号化された Java キーストアに格納するためのパスワード vault

製品機能のより広いセットを有効にするために、設定要件に合わせて JBoss Web Server コレクションの動作を変更する変数を定義できます。

注記

以下のサブセクションでは、JBoss Web Server コレクションが実行できる自動設定更新のサブセットのみを説明します。これらの更新例は、HTTPS 接続のサポートの有効化、mod_cluster サポートの有効化、およびパスワード vault の有効化に重点を置いています。

JBoss Web Server コレクションが提供する変数の完全なリストは、Ansible Automation Hubjws ロールの情報ページ を参照してください。JBoss Web Server 機能の設定と使用の詳細は、Red Hat JBoss Web Server ドキュメントページ を参照してください。

3.6.1. JBoss Web Server での HTTPS サポートの自動設定の有効化

HTTPS プロトコルを介した Web クライアントと Web サーバー間の安全な暗号化接続をサポートするように JBoss Web Server を設定できます。

JBoss Web Server コレクションを使用する場合は、HTTPS サポートを有効にするための次のガイドラインを考慮してください。

  • HTTPS サポートを有効にする場合は、後で Playbook を実行する前に、各ターゲットホストに Java キーストアが存在することを確認する必要があります。JBoss Web Server コレクションは、Java キーストアを自動的に提供または作成しません。この状況では、次の手順の ステップ 1 で説明されているように、ターゲットホストに新しいキーストアを作成するか、既存のキーストアファイルを各ターゲットホストにコピーする必要があります。
  • HTTPS サポートを有効にするには、jws_listen_https_enabled 変数を True に設定します。
  • HTTPS サポートを有効にすると、JBoss Web Server コレクションは、Java キーストアの適切なパスとパスワード設定を使用して、各ターゲットホストの server.xml ファイルを更新します。デフォルトでは、JBoss Web Server コレクションは、これらのパスとパスワードの設定を server.xml ファイルに設定し、値はそれぞれ /etc/ssl/keystore.jkschangeit です。ただし、別のキーストアパスまたはキーストアパスワードを使用する場合は、設定要件に合わせて JBoss Web Server コレクションの動作を変更できます。

手順

  1. Java キーストアを作成する場合は、次の手順を実行します。

    1. キーストアを作成する ターゲットホスト にログインします。

      注記

      JDK がすでにインストールされており、JAVA_HOME 変数がターゲットホストに設定されていることを確認します。

    2. キーストアを作成するには、次のコマンドを入力します。

      $JAVA_HOME/bin/keytool -genkeypair -alias tomcat -keyalg RSA -keystore <path_to_keystore>
      Copy to Clipboard Toggle word wrap

      上記のコマンドで、<path_to_keystore> を、作成するキーストアファイルへのフルパスに置き換えます。-keystore オプションを指定しない場合、コマンドは、インストールした JDK のバージョンに応じたデフォルトの場所にキーストアファイルを作成します。たとえば、Red Hat build of OpenJDK を使用している場合、キーストアのデフォルトの場所は /etc/ssl/keystore.jks です。

      上記のコマンドは、公開鍵と秘密鍵のペアと、サーバー認証用の単一の自己署名証明書を含むキーストアファイルを生成します。キーペアと自己署名証明書は、-alias オプション (tomcat など) で識別される単一のキーストアエントリーに格納されます。

    3. keytool コマンドで次の情報の入力を求めるプロンプトが表示されたら、セットアップに適した値を入力します。

      • キーストアのパスワード (デフォルトでは changeit)
      • 証明書に関する一般情報
      • 証明書のキーパスワード (デフォルトでは、キーストアパスワード)
    注記

    または、新しいキーストアを作成する代わりに、Linux の scp コマンドを使用して、異なるホスト間で既存のキーストアファイルをコピーできます。

  2. HTTPS 接続のサポートを有効にするには、次の手順を実行します。

    1. Ansible コントロールノード で、vars.yml ファイルを開きます。
    2. jws_listen_https_enabled 変数を True に設定します。

      以下に例を示します。

      [...]
      jws_listen_https_enabled: True
      Copy to Clipboard Toggle word wrap
    3. 各ターゲットホストの Java キーストアが /etc/ssl/keystore.jks 以外のパスにある場合は、jws_listen_https_keystore_file 変数を適切な値に設定します。

      以下に例を示します。

      [...]
      jws_listen_https_keystore_file: <keystore_path>
      Copy to Clipboard Toggle word wrap

      前の例の <keystore_path> を、各ターゲットホストにあるキーストアファイルへのフルパスに置き換えます。

      注記

      jws_listen_https_keystore_file 変数を設定しない場合、JBoss Web Server コレクションは server.xml ファイルの certificateKeystoreFile 設定を /etc/ssl/keystore.jks の値で自動的に設定します。

    4. 各ターゲットホストの Java キーストアが changeit 以外のパスワードを使用する場合は、jws_listen_https_keystore_password 変数を適切な値に設定します。

      以下に例を示します。

      [...]
      jws_listen_https_keystore_password: <keystore_password>
      Copy to Clipboard Toggle word wrap

      前の例の <keystore_password> を、各ターゲットホストにある Java キーストアの正しいパスワードに置き換えます。

      注記

      jws_listen_https_keystore_password 変数を設定しない場合、JBoss Web Server コレクションは、値が changeitserver.xmlcertificateKeystorePassword 設定を自動的に設定します。

    5. 変更を vars.yml ファイルに保存します。

3.6.2. JBoss Web Server での mod_cluster サポートの自動設定の有効化

mod_cluster コネクターは、JBoss Web Server バックエンドへの Apache HTTP Server リクエストの負荷を分散するための、設定が少なくて済むインテリジェントなソリューションです。mod_cluster コネクターは、リアルタイムの負荷分散計算、アプリケーションライフサイクル制御、自動プロキシー検出、複数プロトコルサポートなどの機能も提供します。mod_cluster サポートを有効にするには、変数を定義して mod_cluster リスナーを有効にし、mod_cluster インスタンスの IP アドレスとポート値を指定します。

手順

  1. Ansible コントロールノードで、vars.yml ファイルを開きます。
  2. mod_cluster リスナーを有効にするには、jws_modcluster_enabled 変数を True に設定します。

    以下に例を示します。

    [...]
    jws_modcluster_enabled: True
    Copy to Clipboard Toggle word wrap
  3. mod_cluster インスタンスの IP アドレスとポートを指定するには、jws_modcluster_ip 変数と jws_modcluster_port 変数を適切な値に設定します。デフォルトの IP アドレスは 127.0.0.1 です。デフォルトのポートは 6666 です。

    以下に例を示します。

    [...]
    jws_modcluster_ip: <ip_address>
    jws_modcluster_port: <port>
    Copy to Clipboard Toggle word wrap

    前の例で、<ip_address> をターゲットホスト上の mod_cluster インスタンスの適切なバインドアドレスに置き換え、<port>mod_cluster インスタンスが受信リクエストをリッスンするために使用する適切なポートに置き換えます。

  4. 変更を vars.yml ファイルに保存します。

mod_cluster の使用の詳細は、HTTP コネクターおよび負荷分散ガイド を参照してください。

3.6.3. JBoss Web Server でのパスワード vault の自動設定の有効化

JBoss Web Server のパスワード vault を使用して、パスワードやその他の機密性の高い文字列をマスクし、暗号化された Java キーストアに機密情報を格納できます。パスワード vault を使用すると、JBoss Web Server 設定ファイルに平文のパスワードを保存するのを停止できます。JBoss Web Server は、パスワード vault を使用して、パスワードやその他の機密性の高い文字列をキーストアから検索できます。パスワード vault を有効にするには、パスワード vault が使用するさまざまなファイルと構成を指定できる一連の変数を設定できます。

前提条件

手順

  1. Ansible コントロールノードで、vars.yml ファイルを開きます。
  2. 前提条件の手順の一部として作成した vault.keystoreVAULT.dat、および vault.properties ファイルへのパスを指定するには、次の変数を適切な値に設定します。

    以下に例を示します。

    [...]
    jws_vault_name: ./vault_files/vault.keystore
    jws_vault_data: ./vault_files/VAULT.dat
    jws_vault_properties: ./vault_files/vault.properties
    Copy to Clipboard Toggle word wrap

前の例では、前提条件の手順の一部として設定した正しいパスを指定していることを確認してください。

  1. パスワードボールト機能を有効にするには、jws_tomcat_vault_enabled 変数を True に設定します。

    以下に例を示します。

    [...]
    jws_tomcat_vault_enabled: True
    Copy to Clipboard Toggle word wrap
  2. パスワード vault 用に設定したキーストアエイリアス、キーストアパスワード、繰り返し回数、ソルト値を指定するには、次の変数を適切な値に設定します。

    以下に例を示します。

    [...]
    jws_tomcat_vault_alias: <keystore_alias>
    jws_tomcat_vault_storepass: <keystore_password>
    jws_tomcat_vault_iteration: <iteration_count>
    jws_tomcat_vault_salt: <salt>
    Copy to Clipboard Toggle word wrap

    前の例では、前提条件の手順の一部として設定した適切な値を指定していることを確認してください。

  3. 変更を vars.yml ファイルに保存します。

パスワード Vault の使用の詳細は、Red Hat JBoss Web Server インストールガイド を参照してください。

3.6.4. JBoss Web Server の SELinux ポリシー

Security-Enhanced Linux (SELinux) ポリシーを使用して、JBoss Web Server のアクセス制御を定義できます。これらのポリシーは、製品へのアクセス権を決定する一連のルールです。SELinux ポリシー機能はデフォルトで有効になっています。

JBoss Web Server をアーカイブファイルからインストールする場合、SELinux ポリシー機能を使用するには、指定された製品バージョンのネイティブアーカイブファイルもインストールする必要があります。デフォルトでは、JBoss Web Server コレクションは、ターゲットホストのオペレーティングシステムバージョンに一致するネイティブアーカイブファイルをインストールするように設定されています。

3.7. ターゲットホストでの JBoss Web Server アプリケーションの自動デプロイメントの有効化

カスタマイズされたタスクを Playbook に追加することで、ターゲットの JBoss Web Server ホストへの Web アプリケーションのデプロイメントを自動化することもできます。これには、アプリケーションの .war ファイルを適切なディレクトリーに配置する必要があります。

JBoss Web Server がすでに実行されているときに新しいアプリケーションまたは更新されたアプリケーションをデプロイする場合、JBoss Web Server コレクションは、アプリケーションのデプロイ時に 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"
    [...]
    Copy to Clipboard Toggle word wrap

    前の例で、<url_path><app_name> を、デプロイするアプリケーションの正しいパスと .war ファイル名に置き換えます。

  3. 変更を Playbook に保存します。

第4章 Playbook の実行

変数設定を定義したら、Playbook を実行して自動インストールプロセスを開始できます。コントロールノードで ansible-playbook コマンドを使用するか、Red Hat Ansible Automation Controller を使用して Playbook を実行できます。JBoss Web Server コレクションは、すべてのインストールおよびデプロイメントタスクを自動的に処理します。

注記

次の手順は、カスタム Playbook を作成および更新したことを前提としています。

前提条件

  • JBoss Web Server の自動デプロイメントが有効になっている
  • 一般的な Ansible の概念と Ansible Playbook の作成方法に精通している。詳細は、Ansible のドキュメント を参照してください。
  • Playbook には、変数を定義した場所への適切なリンクが含まれています。

    以下に例を示します。

    ---
    [...]
      vars_files:
        - <path_to_vars_file>/vars.yml
    [...]
    Copy to Clipboard Toggle word wrap

    前の例では、vars.yml ファイルで変数が定義されていることを前提としています。<path_to_vars_file> を適切なパスに置き換えます。

  • Playbook に redhat.jws.jws ロールも指定されている。

    以下に例を示します。

    ---
    [...]
      roles:
        - redhat.jws.jws
    [...]
    Copy to Clipboard Toggle word wrap
    注記

    redhat.jws.jws ロールは、すでに become: true ディレクティブで事前設定されており、ターゲットホストで root 権限を必要とする自動タスクを実行するためにユーザー権限昇格をアクティブにします。

  • Red Hat Enterprise Linux (RHEL) バージョン 8 または 9 が、ターゲットホストにすでにインストールされている。

手順

  • 以下のいずれかの手順を実行します。

    • Ansible コントロールノードで、次のコマンドを入力します。

      $ ansible-playbook <playbook_name>.yml
      Copy to Clipboard Toggle word wrap

      上記のコマンドで、<playbook_name> を Playbook に割り当てた名前に置き換えます。上記のコマンドは、ユーザーアカウントがパスワードレス認証をサポートしていることを前提としています。

      注記

      ユーザーアカウントにパスワード認証が必要な場合は、--ask-sudo-pass オプションを指定して前述のコマンドを実行し、プロンプトが表示されたら必要なパスワードを指定できます。以下に例を示します。

      $ ansible-playbook <playbook_name>.yml --ask-sudo-pass

    • Red Hat Ansible Automation Controller を使用して Playbook を実行します。Automation Controller の使用開始に関する詳細は、Red Hat Ansible Automation Platform のドキュメントページを参照してください。

第5章 デプロイメントの検証

Playbook を正常に実行すると、JBoss Web Server コレクションによって、Red Hat JBoss Web Server がターゲットホストに自動的にインストールされます。カスタマイズされたタスクを Playbook に追加した場合、Ansible は、必要に応じてターゲットホストに JBoss Web Server アプリケーションを自動的にデプロイします。オプションで、ターゲットホストで systemctl コマンドを使用するか、リモートホストで curl コマンドを使用して、JBoss Web Server のステータスを確認できます。

手順

  1. オプション: JBoss Web Server ホストで、root ユーザーとして次のコマンドを入力します。

    # systemctl status <service_name>
    Copy to Clipboard Toggle word wrap

    上記のコマンドで、<service_name> を JBoss Web Server インストールの正しいサービス名に置き換えます。デフォルトのサービス名は tomcat です。サービス名の設定の詳細は、JBoss Web Server と systemd の統合の自動化 を参照してください。

    注記

    この手順では、JBoss Web Server が systemd と統合されている必要があります。

  2. オプション: リモートホスト で、root ユーザーとして次のコマンドを入力します。

    # curl http://<target_host>:8080/
    Copy to Clipboard Toggle word wrap

    上記のコマンドで、<target_host> を、アクセスする JBoss Web Server ホストの IP アドレスまたはホスト名に置き換えます。上記のコマンドは、デフォルトポート 8080 を介して JBoss Web Server にアクセスできること、およびターゲットファイアウォールとネットワークがポートへのリモートアクセスを許可していることを前提としています。

注記

JBoss Web Server コレクションには、validate.yml Playbook も playbooks フォルダーに含まれています。JBoss Web Server コレクションで自動検証チェックを実行する場合は、validate.yml Playbook を実行できます。validate.yml Playbook の詳細は、Ansible Automation Hubjws_validation ロールの情報ページ を参照してください。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat