この記事は、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 Downloads Pageから以下をダウンロードしてください:
- DXP 7.0 WAR
- 依存関係 ZIP
- OSGiの依存関係
- データベースジャー(例:MySQL、MariaDB、SQL Server)
インストール
Liferay Home
は、JBoss のインストール先の一つ上のフォルダにあります。 Liferay Home
は JBoss サーバーフォルダーを含むフォルダーを指し、${JBoss_Home} と短縮されます。 Liferay Digital Enterprise 7.0 を JBoss にインストールした場合、Liferay Home フォルダには JBoss サーバフォルダの他に data
, deploy
, logs
, and osgi
フォルダが含まれます。
- フォルダの作成
$JBOSS_HOME/modules/com/liferay/portal/main
. Liferay Digital Enterprise 7.0 Dependenciesのzipファイルを解凍し、.jarファイルをこのフォルダーにコピーします。 - データベース
.jar
をこのフォルダに配置します。 module.xml
を$JBOSS_HOME/modules/com/liferay/portal/main
フォルダに作成し、以下の内容を挿入します:<?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
ファイルを修正します。
- ウェブサブシステムの
undertow:3.1
の不要なwelcome-content
を削除し、要素<location name="/" handler="welcome-content"/>
を削除する。 対応する要素を削除する:<handlers> ... </handlers>
... そうしないと、アプリサーバーは Liferay Digital Enterprise 7.0 ではなく、このフォルダの内容をロードします。
JBoss EAP 6.x の Web Server は 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/>
タグを探し、development
属性を設定します。 完成すると、このようなタグになります:<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>
- エレメント
<subsystem xmlns="urn:jboss:domain:security:1.2">
で定義されたセキュリティサブシステム<security-domains>
に、次のJAAS セキュリティドメイン
を追加します:<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
ファイルを修正し、 dependencies
要素に <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
ファイルを開いてください。- Enter:
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"
より良いパフォーマンスを得るために、 -Xmx
を4gに、 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 Security Architectureの詳細については、その仕様書( 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ポータルの設定