oo

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

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

リモートステージングは別々の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) → アプリケーションタブアセットライブラリ にアクセスしてください。 次に、目的のアセットライブラリを開き、Publishing の下にある Staging をクリックします。

  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. ステージングする データ および コンテンツ のタイプを選択します。

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

    サイトでは、以下のアプリケーションのためにデータをステージングすることができます。

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

    warning

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

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

    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. [なし] を選択し、 [保存] をクリックします。

関連トピック

Capability:
Feature: