JBoss EAP 7.0 での DXP 7.0 のデプロイ

この記事では、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 と公式の リリースノートを参照してください。

決議

必要条件

  1. Oracle JDK 1.8。
  2. JBoss EAP 7.0 zip バンドル、またはインストーラ jar から抽出された Red Hat サイト
  3. Liferay DXP 7.0 ダウンロードページから以下をダウンロードしてください。
    1. DXP 7.0 WAR
    2. 依存関係のzip
    3. OSGi の依存関係
    4. データベース・ジャー(例:MySQL、MariaDB、SQL Server

インストール

Liferay Home はJBossのインストール先の1つ上のフォルダです。 Liferay Home は JBoss サーバーフォルダーを含むフォルダーを指し、${JBoss_Home} と短縮されます。 Liferay Digital Enterprise 7.0がJBossにインストールされている場合、Liferay Homeフォルダには、JBossサーバーフォルダのほか、 データデプロイログ、および osgi フォルダが含まれています。

  1. フォルダを作成する $JBOSS_HOME/modules/com/liferay/portal/main. Liferay Digital Enterprise 7.0 Dependenciesのzipファイルを解凍し、.jarファイルをこのフォルダにコピーします。
  2. このフォルダにデータベース .jar を配置します。
  3. $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>
    
  4. Liferay Home フォルダ内にosgiフォルダを作成します。 そして、OSGiのZIPファイルを osgi フォルダに展開します。

次に、 $JBOSS_HOME/standalone/configuration/standalone.xml ファイルを修正します。

  1. 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>
    
  2. <jsp-config/> タグを見つけて、 展開 属性を設定します。 完成したら、タグは以下のようになります。
           <jsp-config development="true" source-vm="1.8" target-vm="1.8" />
  3. 以下の抜粋にあるように、 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>
    
  4. 次の 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>
    
  5. </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>
    
  6. 変更を保存します。

管理者が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 ファイルを設定する必要があります。

  1. ${JBOSS_HOME}/binに移動します。
  2. standalone.conf.bat ファイルを開きます。
  3. を入力します。 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では MaxMetaspaceSize2gに増やすとよいでしょう。

セキュリティ

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 の仕様書を参照してください。

展開

  1. フォルダ $JBOSS_HOME/standalone/deployments/ROOT.war が既に存在する場合は、そのサブフォルダとファイルを全て削除してください。 そうでなければ、 $JBOSS_HOME/standalone/deployments/ROOT.warという名前の新しいフォルダを作成します。
  2. Liferay DXP 7.0 .war ファイルを ROOT.war フォルダに解凍します。
  3. ROOT.warのデプロイを起動するには、 $JBOSS_HOME/standalone/deployments/ フォルダに ROOT.war.dodeploy という空のファイルを作成します。 起動時にJBossがこのファイルの存在を検出し、Webアプリケーションとしてデプロイします。
  4. $JBOSS_HOME/bin に移動し、 standalone.bat|shを実行して JBoss アプリケーションサーバーを開始します。

この時点でアプリケーションサーバーが起動し、Liferay DXP 7.0がデプロイされています。 アクティベーション・キーを配置したり、Liferay Connected Services (LCS)でインスタンスを管理して、Liferay DXPの使用を開始します。

追加情報

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています