リモート本番環境ステージングの設定

リモート本番環境ステージングの設定

リモート本番環境ステージング では、ステージング環境と本番環境は別々のLiferayサーバーでホストされます。 有効にすると、ステージングの構成に使用されるサイトまたはアセットライブラリがステージング環境になり、リモートサーバーが本番環境になります。

リモート本番環境ステージングを有効にする前に、ステージング環境と本番環境で使用するLiferayサーバーを構成する必要があります。 また、リモートサーバー上に新しい空白のサイトまたはアセットライブラリを作成し、ステージング設定時にそのIDを使用する必要があります。

Liferayサーバーの準備

まだ行っていない場合は、次の手順に従って、Liferayサーバーをリモート本番環境ステージング用に構成します。

  1. 両方のLiferayサーバーのportal-ext.propertiesファイルに次のプロパティを追加して、サーバーの共有認証キーを指定します。

    tunneling.servlet.shared.secret=[secret]
    tunneling.servlet.shared.secret.hex=[value]
    

    各プロパティ値は、選択した暗号化アルゴリズムと、16進エンコーディング(推奨)または印刷可能なASCII文字(安全性が低い)のどちらを使用するかによって異なります。 16進エンコーディングを使用しない場合は、tunneling.servlet.shared.secretの値がASCIIに準拠している必要があります。

    使用可能な暗号化アルゴリズムでは、次のキー長がサポートされています。

    AES :128、192、および256ビットキー

    Blowfish :32~448ビットキー

    DESede(トリプルDES) :112または168ビットキー。 Liferayの最小キー長は、56ビットキーをサポートしていません。

  2. 各サーバーのportal-ext.propertiesファイルに次のプロパティを追加して、各サーバーを他の許可されたサーバーのリストに追加します。

    tunnel.servlet.hosts.allowed=127.0.0.1,SERVER_IP,[OTHER_SERVER_IP]
    

    サーバーに複数のIPアドレスがある場合は、各IPアドレスを追加する必要があります。

    important

    IPv6アドレスを検証する場合は、IPv4アドレスの使用を強制しないようにアプリサーバーのJVMを構成する必要があります。 たとえば、Tomcatを使用している場合は、$TOMCAT_HOME\bin\setenv.[bat|sh]ファイルに-Djava.net.preferIPv4Stack=false属性を追加します。

  3. リモートインスタンスの トンネル認証検証設定 を更新します。

    これを行うには、 [コントロールパネル] → [設定] → [System Settings] → [API Authentication] → [Tunnel Authentication] に移動します。

    /api/liferay/do をクリックし、使用している追加のIPアドレスを [Host Allowed] フィールドに挿入します。 完了したら、 [Update] をクリックします。

    コントロールパネルからリモートインスタンスのトンネル認証検証設定を更新します。

    note

    デフォルトで有効になっていますが、各Liferayサーバーのトンネリングサーブレット認証検証 が有効になっていることを確認してください。

    または、次の構成をLiferayインスタンスのOSGiファイルに書き込むこともできます(例 :osgi/configs/com.liferay.portal.security.auth.verifier.tunnel.module.configuration.TunnelAuthVerifierConfiguration-default.config)。

    enabled=true
    hostsAllowed=127.0.0.1,SERVER_IP,[Local server IP address]
    serviceAccessPolicyName=SYSTEM_User_PASSWORD
    urlsIncludes=/api/liferay/do
    
  4. 両方のLiferayサーバーを再起動して、変更を実装します。

再起動すると、両方のサーバーでステージング設定の準備が整います。

important

リモートステージング環境にパッチを適用する場合は、すべてのサーバーにパッチを適用する必要があります。 サーバー間でパッチレベルが異なることは適切ではなく、インポートの失敗やデータの破損につながる可能性があります。 リモートステージングが正しく機能するようにするには、すべてのサーバーを同じパッチレベルに更新することが不可欠です。

リモート本番環境ステージングの設定

Liferayサーバーの準備ができたら、次の手順に従ってサイトまたはアセットライブラリのリモート本番環境ステージングを設定します。

  1. サイトまたはアセットライブラリでステージングアプリケーションを開きます。

    サイトの場合は、 サイトメニュー(Site Menu) → [公開設定] → [ステージング] に移動します。

    アセットライブラリの場合は、 グローバルメニュー(Global Menu) → [Applications]タブ → [アセットライブラリ] に移動します。 目的のアセットライブラリを開き、[公開設定]の下の [ステージング] をクリックします。

  2. Remote Live] を選択します。 追加の設定フィールドが表示されます。

     リモート本番環境ステージングを選択します。

  3. 次のリモート本番環境接続の詳細を入力します。

    リモートホスト/IP :リモートサーバーのIPアドレスを [リモートホスト/IP] フィールドに入力します。 これは、portal-ext.propertiesファイルで指定したtunnel.servlet.hosts.allowedプロパティと一致する必要があります。

    リモートポート :リモートDXPインスタンスのポートを [リモートポート] フィールドに入力します。

    リモートパスコンテクストリモートパスコンテクスト を入力します。 これは、ルート以外のポータルサーブレットコンテクストパスがリモートLiferayサーバーで使用されている場合にのみ必要です。 このコンテキストへのアクセスは、プロキシまたはファイアウォールによってブロックされてはなりません。

    リモートサイトID / リモートアセットライブラリID :目的のターゲットの サイトID / アセットライブラリID を入力します。

    note

    IPv6アドレスを構成する場合は、リモートホスト/IPフィールドに入力するときに角かっこを含める必要があります(例:[0:0:0:0:0:0:0:1])。

    リモートサーバーがクラスターの場合は、リモートホスト/IPをクラスターの負荷分散されたIPアドレスに設定して、公開設定プロセスの可用性を高めることができます。 詳細については、 Configuring Remote Staging in a Clustered Environment を参照してください。

  4. ステージングから本番環境にページを公開するために安全なネットワーク接続(つまりHTTPS)を使用するかどうかを決定します。

  5. サイトまたはアセットライブラリに使用されるリモートURLを手動で定義するかどうかを決定します。

  6. (サイトのみ)Page Versioning を有効にするかどうかを選択します。

    ページのバージョニングを有効にする。

  7. ステージングする データ および コンテンツ のタイプを選択します。

    アセットライブラリは、ドキュメントとメディア、およびWebコンテンツアプリケーションのステージングデータのみをサポートしています。

    サイトを使用すると、次のアプリケーションのデータをステージングできます。

    ステージングするデータとコンテンツのタイプを選択します。

    warning

    アプリケーションをチェックすると、そのデータがコピーされ、本番環境のサイトで直接編集できない場合があります。 アプリケーションのチェックを外す場合は、ステージングでの変更が失われる可能性があるため、まずステージングでの変更が公開されていることを確認してください。 詳細については、 ステージングでのデータとコンテンツタイプの管理 を参照してください。

  8. 保存] をクリックして、ステージングプロセスを開始します。 このプロセスの時間は、サイトまたはアセットライブラリのサイズによって異なります。

    note

    リモート本番環境のステージングを有効にしようとして失敗した場合は、サーバーが適切に準備されていることを確認してください。

プロセスが完了すると、リモート本番環境ステージングを使用する準備が整います。 ステージング環境の公開機能のナビゲートについては、 サイトステージングUIリファレンス を参照してください。

リモート本番環境ステージングの権限設定

ユーザーがステージングから本番環境への変更を公開しようとすると、Liferayはユーザーのメールアドレス、スクリーン名、またはユーザーIDをリモートサーバーに渡して権限チェックを実行します。 成功させるためには、公開するユーザーが両方のサーバーで同一の認証情報と権限を持っている必要があります。

ローカルユーザーにステージングから本番環境への変更を公開する権限を与えるには、リモートサーバー上のユーザーに対して同一の権限を持つ同一のユーザーアカウントを作成します。

このプロセスを簡素化するために、LDAPを使用して、選択したユーザーアカウントをローカルサーバーからリモートサーバーにコピーできます。 詳細は、 LDAPディレクトリへの接続 を参照してください。

リモートステージングのバッファサイズの設定

リモート本番環境ステージングを使用していて、大量のコンテンツを公開している場合、このプロセスは遅くなり、大量のネットワークトラフィックが発生する可能性があります。 そのため、Liferay DXPは、1つの大きなデータダンプではなく、データを段階的に転送します。 portal-ext.propertiesファイルで次のポータルプロパティを設定することにより、データトランザクションのサイズを制御できます。

staging.remote.transfer.buffer.size

このプロパティは、リモートステージングのファイルブロックサイズを設定します。 リモートステージングに使用されるLARファイルがこのサイズを超える場合、ファイルは送信前に複数のファイルに分割されてから、リモートサーバーで再構築されます。 デフォルトのバッファサイズは10メガバイトです。

リモート本番環境ステージングの無効化

リモート本番環境ステージングを無効にすると、データを削除することなく環境間の接続が無効になります。 データが消去されたり、プロセスが開始されたりすることはないため、リモート本番環境ステージングの無効化はほぼ瞬時に行われます。

warning

リモートステージングを無効にする場合は、本番環境のサイトまたはアセットライブラリに引き続きアクセスできることを確認して、双方が通信できるようにする必要があります。 ライブ環境はシャットダウンしないでください。 環境間でネットワーク接続が失われると、エラーメッセージが表示され、ステージングを強制的に無効にするように指示されます。

ステージングを強制的に無効にすると、コンテンツではなく、ステージングサーバーからステージング情報が消去されます。 本番環境はロックされた状態のままになります。 回避策としては、新しい本番環境のサイトまたはアセットライブラリを作成し、必要に応じてそこにコンテンツをインポートします。

リモート本番環境ステージングを無効にするには、次の手順に従います。

  1. サイトまたはアセットライブラリでステージングアプリケーションを開きます。

  2. アプリケーションバーの アクション ボタン(Actions button)をクリックし、 [Staging Configuration] を選択します。

    アプリケーションバーのアクションボタンをクリックし、[ステージング設定]を選択します

  3. ステージング設定で [None] を選択し、 [保存] をクリックします。

追加情報