Customizing Liferay DXP in the Cloud
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

Liferay PaaSへのマイクロサービスクライアント拡張機能のデプロイ

ほとんどの場合、 セルフホストインスタンスと同様に、Liferay PaaS を使用してクライアント拡張機能をデプロイできます。

フロントエンド、構成、およびバッチ クライアント拡張機能を次の手順に従ってデプロイします。

  1. クライアント拡張プロジェクトフォルダを、PaaS Liferayワークスペースの client-extensions/ フォルダ(liferay/configs/[ENV]/client-extensions/)に配置します。

  2. Liferay サービスの新しいビルドを作成し、 環境にデプロイします

クライアント拡張機能は Liferay Docker イメージの一部として追加され、Liferay 内で独自に動作します。

ただし、 マイクロサービスクライアント拡張 を Liferay PaaS にデプロイするには、より多くの作業が必要です。 ここでは、プロセスについて学び、Liferayのサンプルワークスペースを使用してプロセスを実行します。

マイクロサービスクライアント拡張のデプロイ

Liferayワークスペース10.0.0以上が必要です

Liferay PaaS でマイクロサービス クライアント拡張機能を使用する一般的な手順は次のとおりです。

  1. Liferayワークスペースを準備する

  2. LCP.jsonで必要な環境変数を設定します。

    Liferay DXP が別のクラウドコンテナで実行されるマイクロサービスと通信できるようにするには、追加の環境変数が必要です。 完全なリストについては、 ここの表 を参照してください。

  3. Liferay DXPにクライアント拡張機能をデプロイする

    マイクロサービスクライアント拡張プロジェクトには、Liferay で認証するためのクライアント拡張( OAuth ユーザーエージェントクライアント拡張など)が含まれている必要があります。 このステップでは、それをLiferay DXP側の構成としてデプロイします。

  4. マイクロサービスをクラウド環境にデプロイする

    このステップでは、マイクロサービスを個別のサービスとしてデプロイし、Liferay 外部の独自のコンテナで実行します。

  5. OAuth 2.0プロファイルを更新する

    クライアント拡張機能をLiferay DXPにデプロイすると、OAuth 2.0プロファイルが自動的に作成されますが、マイクロサービスで動作するようにネットワーク構成を更新する必要があります。

  6. マイクロサービスの環境変数を更新する

    この手順では、デプロイメントに必要な環境変数を追加します。 これらの最終的な変数の値を確認するには、クライアント拡張機能をすでに展開しておく必要があります。

これらの手順のほとんどは、クラウド ネットワークで安全に通信するための独自の要件があるため、マイクロサービス クライアント拡張専用です。

OAuth ユーザー エージェント クライアント拡張機能を使用したマイクロサービスで実際に試してみてください。 この例では、Liferay サンプルワークスペースs Spring Boot マイクロサービスを使用します。

Liferayワークスペースを準備する

お持ちでない場合は、Liferay サンプルワークスペースをダウンロードしてください。

curl -o com.liferay.sample.workspace-latest.zip https://repository.liferay.com/nexus/service/local/artifact/maven/content\?r\=liferay-public-releases\&g\=com.liferay.workspace\&a\=com.liferay.sample.workspace\&\v\=LATEST\&p\=zip

この .zip ファイルには、この例に必要な 2 つを含む、さまざまなサンプル クライアント拡張機能を含むワークスペースが含まれています。

  • liferay-sample-etc-spring-boot、マイクロサービスクライアント拡張プロジェクト。 また、認証用の OAuth ユーザー エージェント クライアント拡張機能も含まれています。

  • liferay-sample-custom-element-2、カスタムウィジェットを備えたフロントエンドクライアント拡張機能。 このクライアント拡張機能を使用して、Liferay のマイクロサービスからデータを取得し、それらの間の正常な接続を実証します。

ワークスペースを解凍し、 client-extensions/ フォルダを PaaS プロジェクト リポジトリの liferay/configs/[ENV]/ フォルダにコピーします。 既存のクライアント拡張フォルダーがある場合は、それを既存のフォルダーとマージします。

あるいは、 .zip フォルダーの内容をすべてワークスペースにコピーすることもできますが、 settings.gradleなどの既存のファイル内の重要な構成を上書きしないように注意してください。

必要な環境変数を設定する

マイクロサービスを構築してデプロイする前に、Liferay との通信用に設定するための環境変数をいくつか追加します。

  1. コピーした client-extensions/liferay-sample-etc-spring-boot/ フォルダで、 LCP.json ファイルを開きます。

  2. env ブロックで、 次の値を持つ新しい環境変数 を追加します。

    COM_LIFERAY_LXC_DXP_DOMAINS: ウェブサイトのドメイン。 (UAT Liferayインスタンスにカスタムドメインを設定していない場合は、webserver-mysite-uat.lfr.cloudのような値になります)。

    COM_LIFERAY_LXC_DXP_MAIN_DOMAIN: ウェブサイトのドメイン。

    COM_LIFERAY_LXC_DXP_SERVER_PROTOCOL: https

    LIFERAY_OAUTH_APPLICATION_EXTERNAL_REFERENCE_CODES: liferay-sample-etc-spring-boot-oauth-application-user-agent

    これらの環境変数はすべて、Liferay PaaS のあらゆるマイクロサービス クライアント拡張 に必要です

  3. OAuth ユーザー エージェント クライアント拡張を使用して認証するために必要な追加の環境変数をすべて追加します。ただし、 [ERC]_OAUTH2_USER_AGENT_AUDIENCE[ERC]_OAUTH2_USER_AGENT_CLIENT_ID は除きます (これらは、デプロイした後に構成することをおすすめします)。

    各環境変数名の [ERC]LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENTに置き換えます。 ルートとスコープは変更されないので、この例では、表に記載されている例の値を使うことができる。

    "env": {
        "COM_LIFERAY_LXC_DXP_DOMAINS": "webserver-customereducation-uat.lfr.cloud",
        "COM_LIFERAY_LXC_DXP_MAIN_DOMAIN": "webserver-customereducation-uat.lfr.cloud",
        "COM_LIFERAY_LXC_DXP_SERVER_PROTOCOL": "https",
        "LIFERAY_OAUTH_APPLICATION_EXTERNAL_REFERENCE_CODES": "liferay-sample-etc-spring-boot-oauth-application-user-agent",
        "LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT_OAUTH2_AUTHORIZATION_URI": "/o/oauth2/authorize",
        "LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT_OAUTH2_INTROSPECTION_URI": "/o/oauth2/introspect",
        "LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT_OAUTH2_JWKS_URI": "/o/oauth2/jwks",
        "LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT_OAUTH2_REDIRECT_URIS": "/o/oauth2/redirect",
        "LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT_OAUTH2_TOKEN_URI": "/o/oauth2/token",
        "LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT_OAUTH2_USER_AGENT_SCOPES": "Liferay.Headless.Admin.Workflow.everything"
    },
    
    ヒント

    クライアント拡張機能 LUFFA をローカル (自己ホスト) Liferay インスタンスにデプロイして、これらの変数のデフォルト値を確認することもできます。 ../../gradlew clean deployを使用してクライアント拡張機能をデプロイし、インスタンスの routes/default/liferay-sample-etc-spring-boot/ フォルダに含まれる各 ルート の内容を確認します。

これでLiferay にクライアントエクステンションをデプロイする準備ができました。

Liferay DXPでクライアント拡張機能を構築およびデプロイする

PaaS リポジトリの liferay/ フォルダ内の Liferay ワークスペースは、クライアント拡張機能を含むコードを自動的にビルドしてデプロイします。

次に、Spring Boot とカスタム要素クライアント拡張機能を使用して新しいビルドを作成してデプロイし、Liferay DXP で使用できるようにします。

  1. リポジトリのルート フォルダーから新しいブランチを作成し、変更をコミットします。

    git checkout -b client-extensions
    
    git add .
    
    git commit -m "Deploy client extensions to Liferay DXP."
    
  2. 変更をプッシュしてビルドを作成します。

    git push origin client-extensions
    

    しばらくすると、新しいビルドが作成されます。 クライアント拡張機能は、 Liferayサービスコンテナの osgi/client-extensions/ フォルダに自動的にデプロイされます。

  3. Liferay Cloud コンソールで、 ビルド ページに移動します。

  4. アクション (Actions icon) → ビルドを…にデプロイするをクリックします。

    「ビルド」ページで、新しいビルドを UAT 環境にデプロイします。

  5. 環境の選択 ドロップダウン メニューから実稼働環境を選択します。

  6. 変更の影響を確認するチェックボックスをクリックします。

  7. ビルドのデプロイをクリックします。

しばらくすると、Liferay サービスは、ページに配置する新しいカスタム ウィジェット( Liferay サンプル カスタム エレメント 2と呼ばれます)とマイクロサービスの OAuth 2.0 構成の両方を使用して再デプロイされます。

マイクロサービスをクラウド環境にデプロイする

今、Liferay DXPは必要な設定をデプロイしているが、Spring Bootマイクロサービスはまだ動いていない。 マイクロサービスは、独自のコンテナ内で個別のサービスとして実行する必要があります。

  1. Liferay サンプルワークスペースで、 client-extensions/liferay-sample-etc-spring-boot/ フォルダに戻ります。

  2. クライアント拡張機能をビルドします。

    ../../gradlew clean build
    

    クライアント拡張機能は、 dist/ フォルダー内の LUFFA に組み込まれます。

  3. LCP ツールを使用してクライアント拡張機能 LUFFA を展開します。

    lcp deploy --extension dist/liferay-sample-etc-spring-boot.zip
    

    まだ認証していない場合、ツールによってブラウザを使用して Liferay Cloud で認証するように要求される場合があります。

  4. プロンプトが表示されたら、リストから UAT 環境を選択します。

しばらくすると、クライアント拡張機能が UAT 環境に独自のサービスとして表示されます。 まだLiferay DXPには接続できません。OAuth 2.0で認証する必要があるからです。

マイクロサービスは、Liferay Cloud 環境内の別のコンテナで実行されています。

OAuth 2.0プロファイルを更新する

OAuth 2.0 プロファイルは Liferay で自動的に作成されますが、ローカルテスト用のプレースホルダー値がいくつか残っているため、調整する必要があります。

マイクロサービスのネットワーク情報を確認する

まず、クラウド ネットワーク内のマイクロサービスの URL とポート情報を確認します。

  1. Cloud コンソールで、UAT 環境に移動します。

  2. 左側のメニューから [Network] をクリックします。

    「ネットワーク」ページには、HTTPS を使用して各サービスにアクセスするためのネットワーク情報が表示されます。

  3. クライアント拡張サービスのの アドレス フィールドと ターゲット ポート フィールドの値、および ポート フィールドの 2 番目の数字 (HTTPS 接続に使用されます) をコピーします。 後で使用するために別途メモしておいてください。

    後で使用するために、アドレス、ターゲット ポート、および HTTPS ポート フィールドの値をコピーします。

OAuth 2.0プロファイルのネットワーク情報を更新する

  1. UAT Liferay インスタンスに管理者としてログインします。

  2. グローバル メニュー (Global Menu) → コントロール パネルOAuth 2 管理をクリックします。

  3. Liferay Sample Etc Spring Boot OAuth Application User Agent プロファイルをクリックします。

    Liferay Sample Etc Spring Boot OAuth 2.0 プロファイルは、OAuth ユーザー エージェント クライアント拡張機能を含むクライアント拡張機能をデプロイしたときに自動的に作成されました。

  4. 先ほどコピーしたマイクロサービスの URL で ウェブサイト URL フィールドを更新します。 末尾のスラッシュを削除し、コロンと、HTTPS ポート用にコピーした値を追加します。次の例を参照してください。

    https://liferaysampleetcspringboot-customereducation-uat.lfr.cloud:443
    
  5. コールバック URI フィールドで、既存の文字列内の localhost を Liferay インスタンスの URL に置き換えます ( https://は含みません)。次の例をご覧ください。

    https://www.mysite.com@port-with-colon@/o/oauth2/redirect
    
  6. ページの下部にある [保存]をクリックします。

これで、OAuth 2.0 プロファイルに正しいネットワーク情報が設定されます。 ここで、クライアント拡張サービスの最後のいくつかの環境変数のみを構成する必要があります。

環境変数を更新する

  1. OAuth 2.0 プロファイルページにまだいる間に、上部にある クライアント ID の値をコピーします。

    マイクロサービスの環境変数の 1 つにクライアント ID 値が必要です。

  2. Liferay Cloud コンソールに戻り、UAT 環境に移動します。

  3. サービスliferaysampleeetcspringboot サービスをクリックします。

  4. サービスの環境変数ページで、前にコピーした値を使用して 2 つの新しい環境変数を追加します。

    LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT_OAUTH2_USER_AGENT_AUDIENCE: https://[Liferayドメイン]:[ターゲットポート]

    LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT_OAUTH2_USER_AGENT_CLIENT_ID: [クライアントID]

    これらは、マイクロサービスを構成するために必要な最後の 2 つの環境変数です。

  5. 変更を保存をクリックします。

  6. 画面上部の オプション (Options) → サービスの再起動をクリックします。

サービスが再起動し、Liferay サービスに正常に接続できるようになります。

ヒント

UAT 環境の基本認証構成により、Liferay とマイクロサービス間の通信が妨げられる可能性があります。 それでも接続が成功しない場合は、UAT でマイクロサービスをテストしている間、一時的に基本認証を無効にすることができます。 無効にするには、リポジトリ内の webserver/configs/uat/conf.d ファイルから auth_basic "Authentication Required"; 行を削除し、Web サーバー サービスを再デプロイします。

カスタム要素との接続をテストする

これでLiferay にデプロイしたカスタムエレメントとの接続をテストする準備ができました。

  1. UAT Liferay インスタンスに移動してログインします。

  2. サイトのホームページで、ページ上部にある 編集 (Edit icon) をクリックします。

  3. 画面左側のフラグメントとウィジェット メニューから、 ウィジェットをクリックします。

  4. Liferay Sample Custom Element 2 ウィジェットをページにドラッグします。

    Liferay サンプルカスタム要素 2 ウィジェットは、マイクロサービスと通信して、表示するジョーク メッセージを取得します。

  5. ページ上部の 公開 をクリックします。

ページが公開され、カスタム ウィジェットにジョークを含むメッセージが読み込まれます。 ジョーク メッセージは、Liferay とは別のコンテナーで実行されているマイクロサービス クライアント拡張機能から取得されます。

カスタム ウィジェットの下部に表示されるジョーク メッセージは、マイクロサービスが実行され、適切に構成されていることを確認します。

このカスタム要素は、 liferay-sample-etc-node クライアント拡張機能とも統合されます。 そのクライアント・エクステンションもデプロイし、適切に設定していない場合、追加のメッセージが表示されるが読み込みは終わらない(上の画像のように)。 予期されたマイクロサービスと通信できないため、ブラウザ コンソールにもエラーが表示されます。

環境変数リファレンス

すべてのマイクロサービスクライアント拡張

これらの環境変数は、 すべての マイクロサービス クライアント拡張に必要です。

環境変数値のタイプサンプル値
COM_LIFERAY_LXC_DXP_DOMAINSカンマ区切りの文字列www.mysite.com,www.extrasite.com
COM_LIFERAY_LXC_DXP_メイン_ドメイン文字列www.mysite.com
COM_LIFERAY_LXC_DXP_SERVER_プロトコル文字列https
LIFERAY_OAUTH_APPLICATION_EXTERNAL_REFERENCE_CODESカンマ区切りの文字列liferay-sample-etc-spring-boot-oauth-application-user-agent

OAuthヘッドレスサーバークライアント拡張

これらの環境変数は、 OAuth ヘッドレス サーバー クライアント拡張を使用して認証するすべてのマイクロサービス クライアント拡張に必要です。

各変数名の ERC を、OAuth ヘッドレス サーバー クライアント拡張機能の外部参照コード に置き換えます。このコードは大文字に変換され、すべてのダッシュが削除されています (例: LIFERAYSAMPLEETCCRONOAUTHAPPLICATIONHEADLESSSERVER)。

環境変数値のタイプサンプル値
[ERC]_OAUTH2_ヘッドレス_サーバー_オーディエンス文字列https://www.mysite.com:58081
[ERC]_OAUTH2_ヘッドレス_サーバー_クライアントID文字列id-aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
[ERC]_OAUTH2_ヘッドレス_サーバー_クライアント_シークレット文字列secret-aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
[ERC]_OAUTH2_認証URI文字列/o/oauth2/authorize
[ERC]_OAUTH2_INTROSPECTION_URI文字列/o/oauth2/introspect
[ERC]_OAUTH2_JWKS_URI文字列/o/oauth2/jwks
[ERC]_OAUTH2_REDIRECT_URIS文字列/o/oauth2/redirect
[ERC]_OAUTH2_TOKEN_URI文字列/o/oauth2/token
[ERC]_OAUTH2_ユーザーエージェント_スコープカンマ区切りの文字列Liferay.Headless.Admin.Workflow.everything

OAuthユーザーエージェントクライアント拡張

これらの環境変数は、 OAuth ユーザー エージェント クライアント拡張を使用して認証するすべてのマイクロサービス クライアント拡張に必要です。

各変数名の ERC を、OAuth ヘッドレス サーバー クライアント拡張機能の外部参照コード に置き換えます。このコードは大文字に変換され、すべてのダッシュが削除されています (例: LIFERAYSAMPLEETCSPRINGBOOTOAUTHAPPLICATIONUSERAGENT)。

環境変数値のタイプサンプル値
[ERC]_OAUTH2_ユーザーエージェント_AUDIENCE文字列https://www.mysite.com:58081
[ERC]_OAUTH2_ユーザーエージェント_クライアントID文字列id-aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
[ERC]_OAUTH2_認証URI文字列/o/oauth2/authorize
[ERC]_OAUTH2_INTROSPECTION_URI文字列/o/oauth2/introspect
[ERC]_OAUTH2_JWKS_URI文字列/o/oauth2/jwks
[ERC]_OAUTH2_REDIRECT_URIS文字列/o/oauth2/redirect
[ERC]_OAUTH2_TOKEN_URI文字列/o/oauth2/token
[ERC]_OAUTH2_ユーザーエージェント_スコープカンマ区切りの文字列Liferay.Headless.Admin.Workflow.everything