問題
この記事では、EAP バージョンに固有の Jboss EAP 6.2 に Liferay 6.2 SP 15 をデプロイする方法に関する基本的なウォークスルーの概要を説明します。
環境
- Liferay DXP 6.2
- JBoss Enterprise Application Platform 6.2
解像度
前提条件
- Liferay Portal .war ファイルの 6.2EE-SP-15 バージョン をダウンロードします
- Liferay のポータル依存関係の 6.2EE-SP-15 バージョン をダウンロードします
依存ジャー
- フォルダ $JBOSS_HOME\modules\system\layers\base\com\liferay\portal\main を作成します。 Liferay Portal Dependencies zip ファイルを解凍し、jar ファイルをこのフォルダーにコピーします。
- ファイル module.xml を $JBOSS_HOME\modules\system\layers\base\com\liferay\portal\main フォルダーに作成し、次の内容を挿入します。
<?xml version="1.0"?>
<module xmlns="urn:jboss:module:1.0"name="com.liferay.portal">
<resources>
<resource-root path="mysql-connector-[versionHere]-bin.jar" />
<resource-root path="portal-service.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>
データベースへの接続に hsql を使用することを選択したため、 <resource-root> の変更は <resource-root path="hsql.jar"/>になります。
JBossの構成
- $JBOSS_HOME\standalone\configuration\standalone.xml に移動し、standalone.xml に次の変更を加えます。
- </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>
- 以下の抜粋に示すように、 deployment-timeout=”240” を設定して、展開スキャナーのタイムアウトを追加します。
<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
<deployment-scanner deployment-timeout="240" path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
</subsystem>
展開スキャナーの値が変わらない場合は、変更する必要はありません。
- 次の JAAS セキュリティ ドメインを要素 <subsystem xmlns=”urn:jboss:domain:security:1.1”>で定義されたセキュリティ サブシステム <security-domains> に追加します。
<security-domain name="PortalRealm">
<authentication>
<login-module code="com.liferay.portal.security.jaas.PortalLoginModule" flag="required" />
</authentication>
</security-domain>
最初にサブシステム <security-domains> を見つけると、standalone.xml ファイルでドメイン セキュリティのバージョンが「1.2」であることがわかる場合があります。使用しています。 したがって、上記のプロパティを <security-domains> タグ内のサブシステムにコピーするだけです。
- enable-welcome-root=”false” を指定して、Web サブシステムの仮想サーバーのデフォルト ホストのウェルカム ルートを無効にします。
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="false">
<alias name="localhost" /> <alias name="example.com" /> </virtual-server> </subsystem>
- 次の <configuration> 要素を Web サブシステム要素 <subsystem xmlns=”urn:jboss:domain:web:1.1” default-virtual-server=”default-host” native=”false”>内に挿入します
<configuration>
<jsp-configuration development="true" />
</configuration>
このビット <native=”false”> <subsystem xmlns=”urn:jboss:domain:web:1.1” default-virtual-server=”default-host”>の末尾に追加してから、 <configuration> 要素の Web サブシステム要素を追加することしかできません。 それでも、Jboss EAP 6.2 の場合、Web サブシステムのバージョンは「1.5」です。ここでも同じ方法が適用され、ここで値を変更する必要はありません。
2. $JBOSS_HOME/bin フォルダーに移動し、スタンドアロン ドメインの構成スクリプト ファイルに次の変更を加えます。 standalone.conf.bat (Windows の場合)
-
次の行に示すように、最初の JAVA_OPTS 割り当てをコメントアウトします。
rem set "JAVA_OPTS=-Xms64M -Xmx512M -XX:MaxPermSize=256M"
-
ファイルの最後にある JAVA_OPTS_SET 行の 1 行上に、次の JAVA_OPTS 割り当てを追加します。
set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Djava.security.manager -Djava.security.policy=$JBOSS_HOME/bin/server.policy -Djboss.home.dir=$JBOSS_HOME -Duser.timezone=GMT -Xmx1024m -XX:MaxPermSize=256m"
必要な変更を以下に示します。
- $JBOSS_HOME から %JBOSS_HOME%
- -Djboss.home.dir=$JBOSS_HOME から まで -Djboss.home.dir=C:/Users/liferay/Desktop/JBOSS/jboss-eap-6.2
$JBOSS_HOME 参照を適切なディレクトリに置き換えることを確認する必要があるため。
-
$JBOSS_HOME/modules/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" />
セキュリティ構成
$JBOSS_HOME/bin/server.policy ファイルを作成し、次の内容を追加します。
grant {
permission java.security.AllPermission;
};
Liferay をデプロイする
- フォルダー $JBOSS_HOME/standalone/deployments/ROOT.war が JBOSS インストールに既に存在する場合は、そのサブフォルダーとファイルをすべて削除します。 それ以外の場合は、新しいフォルダー $JBOSS_HOME/standalone/deployments/ROOT.war を作成します。
- Liferay .war ファイルを ROOT.war フォルダーに解凍します。
- ROOT.war ファイルで、WEB-INF/jboss-deployment-structure.xml ファイルを開きます。 このファイルで、依存関係 <module name=”com.liferay.portal” /> を次の構成に置き換えます。
<module meta-inf="export" name="com.liferay.portal">
<imports>
<include path="META-INF" />
</imports>
</module>
- 同じ jboss-deployment-structure.xml ファイルで、 <jboss-deployment-structure> タグを見つけて、xmlns 属性内の 1.0 番号を 1.1 に更新します。
- ROOT.war のデプロイをトリガーするには、 $JBOSS_HOME/standalone/deployments/ フォルダーに ROOT.war.dodeploy という名前の空のファイルを作成します。 起動時に、JBOSS はこのファイルの存在を検出し、Web アプリケーションとしてデプロイします。
- $JBOSS_HOME/standalone/deployments/ROOT.war/WEB-INF/lib から eclipselink.jar を削除して、eclipselink.jar で提供されているものの代わりに Hibernate 永続化プロバイダーが使用されるようにします。
- $JBOSS_HOME/bin に移動し、standalone.bat を実行して、JBOSS で Liferay ポータルを起動します。