oo

WebLogicへのインストール

アプリケーションサーバーとしてWebLogicを使用している場合は、DXPをWebLogic管理対象サーバーにインストールすることを 強くお勧め します。 管理対象サーバーは、DXPをすばやく起動または停止でき、クラスター構成に変換できます。 ここでは、DXPを管理対象サーバーにインストールします。

前提条件

WebLogicのドキュメンテーション に従って、管理サーバーと管理対象サーバーを構成します。

Liferay DXPにはJava JDK 8または11が必要です。 JDKを選択するには、 互換性マトリックス を参照してください。 推奨される設定については、 JVM設定 を参照してください。

これらのファイルを ヘルプセンター (サブスクリプション)または Liferayコミュニティダウンロード からダウンロードします。

  • DXP WARファイル
  • OSGi依存関係のZIPファイル
  • 依存関係のZIPファイル(DXP 7.3以前)

DXP WARの準備

  1. DXP WARファイルを任意の場所に解凍します。

  2. 拡張されたWARのWEB-INF/classesフォルダにportal-ext.propertiesというファイルを作成します。

  3. portal-ext.propertiesファイルで、liferay.homeプロパティをLiferay Homeフォルダパスに設定します。 WebLogicでは、[Liferay Home]は通常、ドメインのフォルダに設定されていますが、任意のローカルフォルダを使用できます。 例えば、

    liferay.home=/full/path/to/your/liferay/home/folder
    
  4. DXP WARファイルを展開し、 portal-ext.properties ファイルを WEB-INF/classes フォルダーにコピーして、 portal-ext.properties をDXP WARファイルにパッケージ化します。

  5. オプションで、拡張されたDXP WARを再度WARできます。 DXPをデプロイする準備ができたら、それを拡張アーカイブまたはWARファイルとしてデプロイできます。 どちらの場合も、DXPは起動後にプロパティ設定を読み取ります。

note

DXPのデプロイ後にportal-ext.propertiesを更新する必要がある場合は、ユーザードメインのautodeploy/ROOT/WEB-INF/classesフォルダにあります。 autodeploy/ROOTフォルダにはDXPデプロイメントが含まれていることに注意してください。

WebLogicの構成

WebLogicのノードマネージャのコンフィグレーション

WebLogicのノードマネージャは、管理対象サーバーを起動および停止します。

SolarisまたはLinux以外のUNIXシステムでWebLogicを実行している場合は、domains/your_domain_name/nodemanager/nodemanager.properties ファイルでこれらのノードマネージャプロパティを設定することにより、ノードマネージャのネイティブバージョンの代わりにJavaノードマネージャを使用します。

NativeVersionEnabled=false

StartScriptEnabled=true
note

デフォルトでは、ノードマネージャーはSSLを使用します。 開発中にSSLを無効にする場合は、nodemanager.propertiesファイルでSecureListener=falseを設定します。

詳細は、Oracleの Configuring Java Node Manager ドキュメントを参照してください。

WebLogicのJVMの構成

setUserOverridesLate WebLogic起動スクリプトおよび管理対象サーバーUIでJVMおよびその他のオプションを構成します。

  1. [Your Domain]/binsetUserOverridesLate.shスクリプトを作成します。

  2. 以下の設定を追加します。

    export DERBY_FLAG="false"
    export JAVA_OPTIONS="${JAVA_OPTIONS} -Dfile.encoding=UTF-8 -Djava.locale.providers=JRE,COMPAT,CLDR -Djava.net.preferIPv4Stack=true -Dlog4j2.formatMsgNoLookups=true -Duser.timezone=GMT -da:org.apache.lucene... -da:org.aspectj..."
    export JAVA_PROPERTIES="-Dfile.encoding=UTF-8 ${JAVA_PROPERTIES} ${CLUSTER_PROPERTIES}"
    export MW_HOME="[place your WebLogic Server folder path here]"
    export USER_MEM_ARGS="-Xms2560m -Xmx2560m -XX:MaxNewSize=1536m -XX:MaxMetaspaceSize=768m -XX:MetaspaceSize=768m -XX:NewSize=1536m -XX:SurvivorRatio=7"
    

    DERBY_FLAG設定は、WebLogicの組み込みDerbyサーバーを無効にします(DXPはこのサーバーを必要としません)。

    JAVA_OPTIONSは、DXPのUTF-8要件、Luceneの使用法、およびAspectJを介したアスペクト指向プログラミングを設定します。

    JAVA_PROPERTIESは、DXPのUTF-8要件も設定します。 TODOはliferay-portalごとに小文字を使用しますか?

    important

    DXPでは、アプリケーションサーバーのJVMが GMTタイムゾーンとUTF-8ファイルエンコーディングを使用する必要があります。

    MW_HOMEをWebLogicサーバーを含むフォルダに設定します。 例:

    export MW_HOME="/Users/ray/Oracle/wls12210"
    

    * _MEM_ARGS変数は、DXPの開始および最大ヒープメモリ容量を設定します。

  3. 管理対象サーバの起動時に、ノードマネージャがDXPのメモリ要件を設定していることを確認してください。 管理サーバーのコンソールUIで、DXPがデプロイされる管理対象サーバーに移動し、[サーバーの開始]タブを選択します。 Arguments フィールドに次のパラメータを入力します。

    -Xms2560m -Xmx2560m -XX:MaxNewSize=1536m -XX:MaxMetaspaceSize=768m -XX:MetaspaceSize=768m -XX:NewSize=1536m -XX:SurvivorRatio=7
    
  4. Save] をクリックします。

Javaオプションとメモリ引数について以下に説明します。

JVMオプションの説明

オプション 説明
-Dfile.encoding=UTF-8 DXPにはUTF-8ファイルエンコーディングが必要です。
-Djava.locale.providers=JRE,COMPAT,CLDR これは、JDK 11で4桁の日付を表示するために必要です。
-Djava.net.preferIPv4Stack=true IPv6よりもIPv4スタックを優先します。
-Dlog4j2.formatMsgNoLookups=true リモートコード実行(RCE)の脆弱性を解決します。 詳細は、 LPS-143663 を参照してください。
-Duser.timezone=GMT DXPでは、アプリケーションサーバーのJVMがGMTタイムゾーンを使用する必要があります。

メモリ引数の説明

メモリ引数 説明
-Xms ヒープの初期スペース。
-Xmx ヒープの最大スペース。
-XX:NewSize 最初の新しいスペース。 通常、新しいサイズをヒープ全体の半分に設定すると、より小さな新しいサイズを使用するよりもパフォーマンスが向上します。
-XX:MaxNewSize 最大の新しいスペース。
-XX:MetaspaceSize 静的コンテンツ用の初期スペース。
-XX:MaxMetaspaceSize 静的コンテンツ用の最大スペース。
-XX:SurvivorRatio 新しいスペースとSurvivor領域の比率。 Survivor領域は、古い世代の領域に昇格する前に、若い世代のオブジェクトを保持します。
note

DXPのインストール後、これらの構成(これらのJVMオプションを含む)をさらに調整して、パフォーマンスを向上させることができます。 詳細については、 Liferayの調整 および JVMの調整 を参照してください。

依存関係のインストール

DXPは、OSGiモジュール(OSGi依存関係ZIP)とデータベースドライバーに依存しています。

  1. OSGi Dependencies ZIPファイルを [Liferay Home]/osgi フォルダーに解凍します(このフォルダーが存在しない場合は作成します)。 LiferayのOSGiランタイムは、これらのモジュールに依存しています。

  2. DXP 7.4+ WARファイルには、MariaDBおよびPostgreSQLのドライバーが含まれています。 以前のDXP WARにはそれらがありません。 7.4以降のWARに、使用中のサポートされているデータベースのドライバーがない場合は、データベースベンダーのJDBC JARファイルをダウンロードして、/standalone/deployments/ROOT.war/WEB-INF/shielded-container-libフォルダーに配置します。

    サポートされているデータベースの一覧については、 互換性マトリックス を参照してください。

note

HypersonicデータベースはDXPにバンドルされており、テスト目的で役立ちます。 本番環境インスタンスにはHSQLを使用しないでください

note

DXP 7.3以前の場合、依存関係のZIPファイルをWebLogicドメインの libフォルダに解凍します。 データベースベンダーのJDBC JARファイルもこのフォルダに入れてください。

Elasticsearchのインストール

Liferayを起動すると、デフォルトのsidecar Elasticsearchサーバーがインストールされて起動します。 WebLogicにインストールするときは、最初からリモートElasticsearchサーバーをセットアップする必要があります。 Elasticsearchを開始する を参照してください。

Elasticsearchが既に構成済みで実行されている状態でLiferay DXPを構成して(Elasticsearchコネクターの.configファイルを使用)開始すると、Elasticsearchへの接続が有効になります。

データベースに接続

DXPには、デモンストレーション目的で組み込みのHypersonicデータベースが含まれていますが、 本番環境では使用しないでください 。 フル機能のサポートされているデータベースを使用してください。 データベースのセットアップについては、データベースの設定を参照してください。

Liferay DXPは、DXPの組み込みデータソース(推奨)またはアプリサーバー上のJNDIデータソースを使用してデータベースに接続できます。

セットアップウィザードを使用して、DXPを初めて実行するときに、データベースを使用してDXPの組み込みデータソースを構成できます。 または、データベースの データベーステンプレートに 基づいて、データソースを portal-ext.properties ファイルで構成できます。

それ以外の場合は、WebLogicでデータソースを構成できます。

  1. DXP WAR(7.4以降)またはデータベースベンダーからJDBC JARを取得し、ドメインのlibフォルダにコピーします。

  2. AdminServerコンソールにログインします。

  3. ドメイン構造 ツリーでドメインを見つけ、 [Services] → [JDBC] → [Data Sources] に移動します。

  4. 新しいデータソースを作成するには、[New]をクリックします。

  5. Name フィールドにLiferay Data Sourceを、 JNDI Name フィールドにjdbc/LiferayPoolを入力します。

  6. データベースのタイプとドライバーを選択します。 たとえば、MySQLは MySQL’s Driver (Type 4) Versions:using com.mysql.cj.jdbc.Driver です。

  7. Next] をクリックして次に進みます。

  8. このページのデフォルト設定を受け入れ、 [Next] をクリックして次に進みます。

  9. MySQLデータベースのデータベース情報を入力します。

  10. MySQLを使用する場合は、?useUnicode=true&characterEncoding=UTF-8&\useFastDateParsing=falseをURL行に追加し、接続をテストします。 完了したら、 [Next] をクリックします。

  11. データソースのターゲットを選択し、 [Finish] をクリックします。

  12. DXPをJDBCデータソースに接続します。 portal-ext.propertiesファイル(上記を参照)に、データソースのJNDI名を入力します。 例:

    jdbc.default.jndi.name=jdbc/LiferayPool
    

メールサーバーに接続

組み込みのメールセッションを使用して、Liferay DXPをメールサーバー に接続できます。 それ以外の場合は、WebLogicのメールセッションを使用できます。

  1. WebLogicを起動し、管理サーバーのコンソールにログインします。

  2. 管理サーバーのコンソールUIの左側にある [Domain Structure] ボックスから [Services] → [Mail Sessions] を選択します。

  3. 新規 をクリックして、新しいメールセッションの作成を開始します。

  4. セッションに LiferayMail という名前を付け、JNDI名mail/MailSessionを付けます。

  5. メールサーバーに合わせて、 セッションユーザー名セッションパスワードセッションパスワードの確認JavaMailプロパティ の各フィールドを入力します。 これらのフィールドの詳細は、 WebLogic documentation を参照してください。

  6. [Next] をクリックします。

  7. DXPをインストールする管理対象サーバーを選択し、 終了 をクリックします。

  8. 管理対象サーバーと管理サーバーをシャットダウンします。

  9. 管理対象サーバーと管理サーバーをシャットダウンした状態で、次のプロパティをLiferayホームの portal-ext.properties ファイルに追加します。

    mail.session.jndi.name=mail/MailSession
    
note

DXPがデプロイされると、portal-ext.propertiesファイルはドメインのautodeploy/ROOT/WEB-INF/classesフォルダにあります。

管理サーバーと管理サーバーを再起動すると、変更が有効になります。

DXPのデプロイ

次の手順に従って、DXP WARファイルをデプロイします。

  1. DXPをデプロイしている指定の管理対象サーバーがシャットダウンされていることを確認します。
  2. 管理サーバーのコンソールUIで、左側の ドメイン構造 ボックスから デプロイ を選択します。
  3. インストール]をクリックして、新しい展開を開始します。
  4. マシンでDXP WARファイルまたはその拡張コンテンツを選択します。 または、 ファイルのアップロード リンクをクリックして、WARファイルをアップロードします。 [Next] をクリックします。
  5. この展開をアプリケーションとしてインストールする]を選択し、[次へ]をクリックします。
  6. DXPを展開している指定管理対象サーバーを選択し、 [Next] をクリックしてください。
  7. デフォルトの名前がインストールに適している場合は、そのままにしておきます。 それ以外の場合は、別の名前を入力して Next をクリックします。
  8. Finish をクリックします。
  9. 展開が終了した後、設定が正しければ Save をクリックします。
  10. DXP をデプロイした Managed Server を起動します。DXP はすべての JSP をプリコンパイルしてから起動します。

DXPのデプロイ後に、 PhaseOptimizerを含む以下のような過剰な警告やログメッセージが表示される場合があります。 これらは良性なので、無視しても構いません。 これらのメッセージは、アプリサーバーのログレベルまたはログフィルターを調整することでオフにできます。

May 02, 2018 9:12:27 PM com.google.javascript.jscomp.PhaseOptimizer$NamedPass process
     WARNING: Skipping pass gatherExternProperties
May 02, 2018 9:12:27 PM com.google.javascript.jscomp.PhaseOptimizer$NamedPass process
     WARNING: Skipping pass checkControlFlow
May 02, 2018 9:12:27 PM com.google.javascript.jscomp.PhaseOptimizer$NamedPass process
     INFO: pass supports: [ES3 keywords as identifiers, getters, reserved words as properties, setters, string continuation, trailing comma, array pattern rest, arrow function, binary literal, block-scoped function declaration, class, computed property, const declaration, default parameter, destructuring, extended object literal, for-of loop, generator, let declaration, member declaration, new.target, octal literal, RegExp flag 'u', RegExp flag 'y', rest parameter, spread expression, super, template literal, modules, exponent operator (**), async function, trailing comma in param list]
     current AST contains: [ES3 keywords as identifiers, getters, reserved words as properties, setters, string continuation, trailing comma, array pattern rest, arrow function, binary literal, block-scoped function declaration, class, computed property, const declaration, default parameter, destructuring, extended object literal, for-of loop, generator, let declaration, member declaration, new.target, octal literal, RegExp flag 'u', RegExp flag 'y', rest parameter, spread expression, super, template literal, exponent operator (**), async function, trailing comma in param list, object literals with spread, object pattern rest]

Liferay DXP Enterpriseサブスクリプションをお持ちの場合、DXPはアクティベーションキーを要求します。 詳細は、 Liferay DXPのアクティブ化 を参照してください。

  WebLogicでDXPを実行しています。

次のステップ

管理者ユーザーとしてサインインして、DXPでソリューションの構築を開始できます。 または、Liferay DXPのその他のセットアップトピックを参照できます。

Deployment Approach: