この記事では、JBoss EAP 7.0上にLiferay Digital Experience Platform (DXP) 7.0をセットアップする方法を説明します。
JBoss EAP 6.x 製品に精通している管理者や開発者は、インストール手順が JBoss EAP 7.0 でも多かれ少なかれ同じであることに注意してください。 変更点の詳細については、Red Hat の発表 Announcing JBoss EAP 7 と公式の リリースノートを参照してください。
決議
必要条件
- Oracle JDK 1.8。
- JBoss EAP 7.0 zip バンドル、またはインストーラ
jar
から抽出された Red Hat サイト。 - Liferay DXP 7.0 ダウンロードページから以下をダウンロードしてください。
- DXP 7.0 WAR
- 依存関係のzip
- OSGi の依存関係
- データベース・ジャー(例:MySQL、MariaDB、SQL Server
インストール
Liferay Home
はJBossのインストール先の1つ上のフォルダです。 Liferay Home
は JBoss サーバーフォルダーを含むフォルダーを指し、${JBoss_Home} と短縮されます。 Liferay Digital Enterprise 7.0がJBossにインストールされている場合、Liferay Homeフォルダには、JBossサーバーフォルダのほか、 データ
、 デプロイ
、 ログ
、および osgi
フォルダが含まれています。
- フォルダを作成する
$JBOSS_HOME/modules/com/liferay/portal/main
. Liferay Digital Enterprise 7.0 Dependenciesのzipファイルを解凍し、.jarファイルをこのフォルダにコピーします。 - このフォルダにデータベース
.jar
を配置します。 $JBOSS_HOME/modules/com/liferay/portal/main
フォルダ内にmodule.xml
というファイルを作成し、以下の内容を挿入します。<?xml version="1.0"?> <module name="com.liferay.portal" xmlns="urn:jboss:module:1.0"> <resources> <resource-root path="com.liferay.registry.api.jar" /> <resource-root path="${database jar}" /> <resource-root path="portal-kernel.jar" /> <resource-root path="portlet.jar" /> </resources> <dependencies> <module name="javax.api" /> <module name="javax.mail.api" /> <module name="javax.servlet.api" /> <module name="javax.servlet.jsp.api" /> <module name="javax.transaction.api" /> </dependencies> </module>
Liferay Home
フォルダ内にosgiフォルダを作成します。 そして、OSGiのZIPファイルをosgi
フォルダに展開します。
次に、 $JBOSS_HOME/standalone/configuration/standalone.xml
ファイルを修正します。
- Webサブシステムの
undertow:3.1
の要素<location name="/" handler="welcome-content"/>
を削除することで、不要なウェルカムコンテンツ
を削除します。 対応する要素を削除します。<handlers> ... </handlers>
... そうでない場合、アプリサーバーはこのフォルダの内容をロードし、Liferay Digital Enterprise 7.0 ではありません。
JBoss EAP 6.x の Web サーバーは Undertow によって置き換えられていることに注意してください。 Webサーバーのアンダータウの設定を参照してください。<subsystem xmlns="urn:jboss:domain:undertow:3.1"> <buffer-cache name="default"/> <server name="default-server"> <http-listener name="default" socket-binding="http" redirect-socket="https"/> <host name="default-host" alias="localhost"> <filter-ref name="server-header"/> <filter-ref name="x-powered-by-header"/> </host> </server> <servlet-container name="default"> <jsp-config/> <websockets/> </servlet-container> <filters> <response-header name="server-header" header-name="Server" header-value="JBoss-EAP/7"/> <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/> </filters> </subsystem>
<jsp-config/>
タグを見つけて、展開
属性を設定します。 完成したら、タグは以下のようになります。<jsp-config development="true" source-vm="1.8" target-vm="1.8" />
- 以下の抜粋にあるように、
deployment-timeout="240"
を設定して、デプロイメント スキャナのタイムアウトを追加します。<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0"> <deployment-scanner name="default" path="deployments" scan-enabled="true" scan-interval="5000" relative-to="jboss.server.base.dir" deployment-timeout="240"/> </subsystem>
- 次の
JAASセキュリティドメイン
をセキュリティサブシステム<security-domains>
要素で定義されている<subsystem xmlns="urn:jboss:domain:security:1.2">
に追加します。<security-domain name="PortalRealm"> <authentication> <login-module code="com.liferay.portal.security.jaas.PortalLoginModule" flag="required"/> </authentication> </security-domain>
</extensions>
と<management>
タグの間に以下のシステムプロパティを追加します。<system-properties> <property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8" /> <property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true" /> </system-properties>
- 変更を保存します。
管理者がIBM JDKを使用する予定の場合は、 $JBOSS_HOME/modules/com/liferay/portal/main/module.xml
ファイルを修正し、 依存関係
要素に <module name="ibm.jdk">
を追加してください。 次に、 $JBOSS_HOME/modules/system/layers/base/sun/jdk/main/module.xml
ファイルに移動し、 <paths>... の中に以下のパス名を挿入します。</paths> 要素の中に以下のパス名を挿入します。
<path name="com/sun/crypto" /> <path name="com/sun/crypto/provider" /> <path name="com/sun/image/codec/jpeg" /> <path name="com/sun/org/apache/xml/internal/resolver" /> <path name="com/sun/org/apache/xml/internal/resolver/tools" />
そうでなければ、次のステップに進みます。
管理者は、Windowsで standalone.conf.bat
ファイルを設定する必要があります。
${JBOSS_HOME}/bin
に移動します。standalone.conf.bat
ファイルを開きます。- を入力します。
set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Dsecmgr -Djava.security.policy=$JBOSS_HOME/bin/server.policy -Djboss.home.dir=$JBOSS_HOME -Duser.timezone=GMT -Xmx4096m -XX:MaxMetaspaceSize=2g"
-Dfile encoding=UTF-8 -Djava.net preferIPv4Stack=true -Dsecmgr -Djava.security.policy=
パフォーマンスを向上させるには、4gでは -Xmx
を、2gでは MaxMetaspaceSize
を 2gに増やすとよいでしょう。
セキュリティ
Marketplaceからサードパーティ製アプリを使用したい開発者は、Liferay Digital Enterprise 7.0インスタンスとJBossサーバーをセキュリティの脅威から保護したいと考えるでしょう。 そのためには、JBoss サーバー上で Java Security を有効にし、Liferay Digital Enterprise 7.0 インスタンスにサーバーへのアクセスを許可するセキュリティポリシーを指定します。 -Dsecmgr
と -Djava.security.policy
のJavaオプションを standalone.conf.bat
ファイルに設定することを忘れないでください。 -Dsecmgr
Java オプションは JBoss のセキュリティを有効にします。 同様に、 -Djava.security.policy
Javaオプションは、サーバのJavaセキュリティポリシーのパーミッションを一覧表示します。 この設定では、すべてのパーミッションを開放します。 後でポリシーのパーミッションを調整します。 $JBOSS_HOME/bin/server.policy
ファイルを作成し、以下の内容を追加します。
grant { permission java.security.AllPermission; };
Java SE セキュリティ・アーキテクチャの詳細な情報については、 JavaTM SE Platform Security Architecture の仕様書を参照してください。
展開
- フォルダ
$JBOSS_HOME/standalone/deployments/ROOT.war
が既に存在する場合は、そのサブフォルダとファイルを全て削除してください。 そうでなければ、$JBOSS_HOME/standalone/deployments/ROOT.war
という名前の新しいフォルダを作成します。 - Liferay DXP 7.0
.war
ファイルをROOT.war
フォルダに解凍します。 - ROOT.warのデプロイを起動するには、
$JBOSS_HOME/standalone/deployments/
フォルダにROOT.war.dodeploy
という空のファイルを作成します。 起動時にJBossがこのファイルの存在を検出し、Webアプリケーションとしてデプロイします。 $JBOSS_HOME/bin
に移動し、standalone.bat|sh
を実行して JBoss アプリケーションサーバーを開始します。
この時点でアプリケーションサーバーが起動し、Liferay DXP 7.0がデプロイされています。 アクティベーション・キーを配置したり、Liferay Connected Services (LCS)でインスタンスを管理して、Liferay DXPの使用を開始します。
追加情報
- 公式ドキュメント。 JBoss EAP 6.4 への Liferay DXP のインストール。
- その他の参考になるサポート KB 記事:JBoss 6 EAP上でのLiferayポータルの設定