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の準備
-
DXP WARファイルを任意の場所に解凍します。
-
拡張されたWARの
WEB-INF/classes
フォルダにportal-ext.properties
というファイルを作成します。 -
portal-ext.properties
ファイルで、liferay.home
プロパティをLiferay Homeフォルダパスに設定します。 WebLogicでは、[Liferay Home]
は通常、ドメインのフォルダに設定されていますが、任意のローカルフォルダを使用できます。 例えば、liferay.home=/full/path/to/your/liferay/home/folder
-
DXP WARファイルを展開し、
portal-ext.properties
ファイルをWEB-INF/classes
フォルダーにコピーして、portal-ext.properties
をDXP WARファイルにパッケージ化します。 -
オプションで、拡張されたDXP WARを再度WARできます。 DXPをデプロイする準備ができたら、それを拡張アーカイブまたはWARファイルとしてデプロイできます。 どちらの場合も、DXPは起動後にプロパティ設定を読み取ります。
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
デフォルトでは、ノードマネージャーはSSLを使用します。 開発中にSSLを無効にする場合は、nodemanager.properties
ファイルでSecureListener=false
を設定します。
詳細は、Oracleの Configuring Java Node Manager ドキュメントを参照してください。
WebLogicのJVMの構成
setUserOverridesLate
WebLogic起動スクリプトおよび管理対象サーバーUIでJVMおよびその他のオプションを構成します。
-
[Your Domain]/bin
でsetUserOverridesLate.sh
スクリプトを作成します。 -
以下の設定を追加します。
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ごとに小文字を使用しますか?importantDXPでは、アプリケーションサーバーのJVMが
GMT
タイムゾーンとUTF-8
ファイルエンコーディングを使用する必要があります。MW_HOME
をWebLogicサーバーを含むフォルダに設定します。 例:export MW_HOME="/Users/ray/Oracle/wls12210"
* _MEM_ARGS
変数は、DXPの開始および最大ヒープメモリ容量を設定します。 -
管理対象サーバの起動時に、ノードマネージャがDXPのメモリ要件を設定していることを確認してください。 管理サーバーのコンソールUIで、DXPがデプロイされる管理対象サーバーに移動し、[サーバーの開始]タブを選択します。 Arguments フィールドに次のパラメータを入力します。
-Xms2560m -Xmx2560m -XX:MaxNewSize=1536m -XX:MaxMetaspaceSize=768m -XX:MetaspaceSize=768m -XX:NewSize=1536m -XX:SurvivorRatio=7
-
[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領域は、古い世代の領域に昇格する前に、若い世代のオブジェクトを保持します。 |
DXPのインストール後、これらの構成(これらのJVMオプションを含む)をさらに調整して、パフォーマンスを向上させることができます。 詳細については、 Liferayの調整 および JVMの調整 を参照してください。
依存関係のインストール
DXPは、OSGiモジュール(OSGi依存関係ZIP)とデータベースドライバーに依存しています。
-
OSGi Dependencies ZIPファイルを
[Liferay Home]/osgi
フォルダーに解凍します(このフォルダーが存在しない場合は作成します)。 LiferayのOSGiランタイムは、これらのモジュールに依存しています。 -
DXP 7.4+ WARファイルには、MariaDBおよびPostgreSQLのドライバーが含まれています。 以前のDXP WARにはそれらがありません。 7.4以降のWARに、使用中のサポートされているデータベースのドライバーがない場合は、データベースベンダーのJDBC JARファイルをダウンロードして、
/standalone/deployments/ROOT.war/WEB-INF/shielded-container-lib
フォルダーに配置します。サポートされているデータベースの一覧については、 互換性マトリックス を参照してください。
HypersonicデータベースはDXPにバンドルされており、テスト目的で役立ちます。 本番環境インスタンスにはHSQLを使用しないでください。
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でデータソースを構成できます。
-
DXP WAR(7.4以降)またはデータベースベンダーからJDBC JARを取得し、ドメインの
lib
フォルダにコピーします。 -
AdminServerコンソールにログインします。
-
ドメイン構造 ツリーでドメインを見つけ、 [Services] → [JDBC] → [Data Sources] に移動します。
-
新しいデータソースを作成するには、[New]をクリックします。
-
Name フィールドに
Liferay Data Source
を、 JNDI Name フィールドにjdbc/LiferayPool
を入力します。 -
データベースのタイプとドライバーを選択します。 たとえば、MySQLは MySQL’s Driver (Type 4) Versions:using com.mysql.cj.jdbc.Driver です。
-
[Next] をクリックして次に進みます。
-
このページのデフォルト設定を受け入れ、 [Next] をクリックして次に進みます。
-
MySQLデータベースのデータベース情報を入力します。
-
MySQLを使用する場合は、
?useUnicode=true&characterEncoding=UTF-8&\useFastDateParsing=false
をURL行に追加し、接続をテストします。 完了したら、 [Next] をクリックします。 -
データソースのターゲットを選択し、 [Finish] をクリックします。
-
DXPをJDBCデータソースに接続します。
portal-ext.properties
ファイル(上記を参照)に、データソースのJNDI名を入力します。 例:jdbc.default.jndi.name=jdbc/LiferayPool
メールサーバーに接続
組み込みのメールセッションを使用して、Liferay DXPをメールサーバー に接続できます。 それ以外の場合は、WebLogicのメールセッションを使用できます。
-
WebLogicを起動し、管理サーバーのコンソールにログインします。
-
管理サーバーのコンソールUIの左側にある [Domain Structure] ボックスから [Services] → [Mail Sessions] を選択します。
-
[新規 をクリックして、新しいメールセッションの作成を開始します。
-
セッションに LiferayMail という名前を付け、JNDI名
mail/MailSession
を付けます。 -
メールサーバーに合わせて、 セッションユーザー名 、 セッションパスワード 、 セッションパスワードの確認 、 JavaMailプロパティ の各フィールドを入力します。 これらのフィールドの詳細は、 WebLogic documentation を参照してください。
-
[Next] をクリックします。
-
DXPをインストールする管理対象サーバーを選択し、 終了 をクリックします。
-
管理対象サーバーと管理サーバーをシャットダウンします。
-
管理対象サーバーと管理サーバーをシャットダウンした状態で、次のプロパティをLiferayホームの
portal-ext.properties
ファイルに追加します。mail.session.jndi.name=mail/MailSession
DXPがデプロイされると、portal-ext.properties
ファイルはドメインのautodeploy/ROOT/WEB-INF/classes
フォルダにあります。
管理サーバーと管理サーバーを再起動すると、変更が有効になります。
DXPのデプロイ
次の手順に従って、DXP WARファイルをデプロイします。
- DXPをデプロイしている指定の管理対象サーバーがシャットダウンされていることを確認します。
- 管理サーバーのコンソールUIで、左側の ドメイン構造 ボックスから デプロイ を選択します。
- [インストール]をクリックして、新しい展開を開始します。
- マシンでDXP WARファイルまたはその拡張コンテンツを選択します。 または、 ファイルのアップロード リンクをクリックして、WARファイルをアップロードします。 [Next] をクリックします。
- [この展開をアプリケーションとしてインストールする]を選択し、[次へ]をクリックします。
- DXPを展開している指定管理対象サーバーを選択し、 [Next] をクリックしてください。
- デフォルトの名前がインストールに適している場合は、そのままにしておきます。 それ以外の場合は、別の名前を入力して Next をクリックします。
- Finish をクリックします。
- 展開が終了した後、設定が正しければ Save をクリックします。
- 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のその他のセットアップトピックを参照できます。