Installing Liferay on an Application Server
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

JBoss EAPへのインストール

Liferay DXP 2025年第3四半期以降 / ポータル 2026年第1四半期以降

Jakarta より前の Liferay バージョンについては、 JBoss EAP への以前のバージョンのインストールを参照してください。

JBoss EAPにインストールするには、DXP WARのインストール、依存関係のインストール、JBossの設定、およびJBossへのDXPのデプロイが必要です。 データベースとメールサーバーの接続も設定する必要があります。

前提条件

Liferay DXP/Portal を実行するには、 サポートされている Java バージョン が必要です。 詳細については、 JVM 構成 を参照してください。

これらのファイルを ヘルプセンター (サブスクリプション) または Liferay コミュニティダウンロードからダウンロードします。

  • DXP WARファイル
  • OSGi依存関係のZIPファイル
  • JBoss 8.0以降

インストール手順では、これらの用語を使用しています。

  • [Liferay Home]: JBoss サーバー フォルダを含むフォルダ ( $JBOSS_HOMEと呼ばれます)。 DXPをインストールしてデプロイした後、datadeploy、およびlogsフォルダを生成します。

  • $JBOSS_HOME:JBossサーバーフォルダー。 通常、jboss-eap-[version]という名前です。

依存関係とDXP WARのインストール

  1. クリーンなJBossインストールを開始していて、$JBOSS_HOME/standalone/deployments/ROOT.warフォルダが存在する場合は、そのすべてのサブフォルダとファイルを削除します。

  2. DXP WARファイルを$JBOSS_HOME/standalone/deployments/ROOT.warフォルダに解凍します(このフォルダが存在しない場合は作成します)。

    重要

    デフォルトの Liferay Portal Web コンテキストは、WAR ファイル名を変更することで変更できます (例: localhost:8080/ から localhost:8080/myportal) が、これはお勧めしません。

  3. OSGi Dependencies ZIPファイルを[Liferay Home]/osgiフォルダーに解凍します(このフォルダーが存在しない場合は作成します)。 LiferayのOSGiランタイムは、これらのモジュールに依存しています。

スタンドアロンモードとドメインモードのJBoss EAPでのDXPの実行

JBoss EAP は、 スタンドアロン モードまたは ドメイン モードのいずれかで起動できます。 ドメインモードでは、単一のコントロールポイントから複数のアプリケーションサーバーインスタンスを管理できます。 このようなアプリケーションサーバーのコレクションは、 ドメインと呼ばれます。 スタンドアロン モードとドメイン モードの詳細については、 JBoss EAP 製品ドキュメントのこのトピックに関するセクションを参照してください。

DXPは、スタンドアロンモードで実行する場合はJBoss EAPをサポートしますが、ドメインモードで実行する場合はサポートしません。 JBossはファイル(展開または非展開)をコピーして管理対象デプロイメントのコンテンツを管理するため、DXPの自動展開は管理対象デプロイメントでは機能しません。 これにより、JSPフックとExtプラグインが意図したとおりに機能しなくなります。 たとえば、DXPのJSPオーバーライドメカニズムはアプリケーションサーバーに依存しているため、JSPフックは管理対象ドメインモードで実行されているJBoss EAPでは機能しません。 ただし、JSPフックとExtプラグインは非推奨であるため、使用していない可能性があります。

ドメインモードデプロイメントを使用する場合は、コマンドラインインターフェースを使用します。

これにより、DXPが複数のJBossサーバー上のクラスター環境で実行されるのを防ぐことはできません。 スタンドアロンモードで実行されているJBoss EAPサーバーで実行されているDXPインスタンスのクラスターを設定できます。 詳細については、 クラスタリングの記事 を参照してください。

JBossの構成

JBossの構成手順は次のとおりです。

  • 環境変数を設定する
  • プロパティと記述子を指定する
  • 不要な構成を削除する

$JBOSS_HOME/standalone/configuration/standalone.xmlに次の変更を加えます。

  1. 終了タグ </extensions> を見つけます。 その終了タグの直下に、まだ存在していなければ、以下のシステムプロパティを挿入します。

    <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>
    
  2. ログから WFLYSRV0059WFLYEE0007 のメッセージを除外します。 <subsystem xmlns="urn:jboss:domain:logging:8.0"> 要素の <console-handler> タグで、 <level name="INFO"/> タグの直下に次の <filter-spec> タグを追加します。

    <filter-spec value="not(any(match(&quot;WFLYSRV0059&quot;),match(&quot;WFLYEE0007&quot;)))" />
    
  3. deployment-timeout="600" 設定を <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0"> 要素の <deployment-scanner> タグに追加して、デプロイメント スキャナーのタイムアウトを追加します。 例えば、

    <deployment-scanner deployment-timeout="600" path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
    
  4. <subsystem xmlns="urn:jboss:domain:undertow:12.0" ...> 要素から welcome コンテンツ要素をコメント アウトします。 例えば、

    <!--<location name="/" handler="welcome-content"/>-->
    

    および

    <handlers>
        <!--<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>-->
    </handlers>
    
  5. JBoss サーバーで 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" />
    

チェックポイント:

続行する前に、次のプロパティが standalone.xml ファイルに設定されていることを確認してください。

  1. 新しい <system-property> が追加されました。
  2. 新しい <filter-spec> が追加されました。
  3. <deployment-timeout>600に設定されています。
  4. 新しい <security-domain> が作成されます。
  5. ウェルカムコンテンツが無効になっていること。

次に、JVMと起動スクリプトを構成します。

$JBOSS_HOME/ bin / フォルダーで、スタンドアロンドメインの構成スクリプトファイル standalone.conf を変更します。

  • ファイルのエンコーディングをUTF-8に設定します。
  • ユーザーのタイムゾーンを GMTに設定します。
  • 優先プロトコルスタックを設定します。
  • 利用可能なデフォルトのメモリ容量を増やします。
重要

DXP では、アプリケーション サーバー JVM が GMT タイム ゾーンと UTF-8 ファイル エンコーディングを使用する必要があります。

standalone.confスクリプトを次のように編集します。

  1. if [ "x$JAVA_OPTS" = "x" ]; ステートメントの下で、 JAVA_OPTS 割り当てから JVM のサイズ設定オプションを削除します。 例えば、以下のものを

    JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=2560m -Djava.net.preferIPv4Stack=true"
    

    以下のものと置き換えます。

    JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
    
  2. ファイルの最後に次の Java オプション設定を追加します。

    JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Duser.timezone=GMT -Xms2560m -Xmx2560m -XX:MaxNewSize=1536m -XX:MaxMetaspaceSize=768m -XX:MetaspaceSize=768m -XX:NewSize=1536m -XX:SurvivorRatio=7 -Djboss.as.management.blocking.timeout=1800"
    
    JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED"
    
    export JDK_JAVA_OPTIONS
    

Javaオプションとメモリ引数について以下に説明します。

JVMオプションの説明

オプション説明
-Dfile.encoding=UTF-8DXPにはUTF-8ファイルエンコーディングが必要です。
-Djava.net.preferIPv4Stack=trueIPv6よりもIPv4スタックを優先します。
-Djboss.as.management.blocking.timeout=1800JBoss の起動に失敗した場合に備えて再試行するためのタイムアウトを設定します。
-Duser.timezone=GMTDXPでは、アプリケーションサーバーのJVMがGMTタイムゾーンを使用する必要があります。

ディープ リフレクション オプションは、Liferay の一部のコンポーネントが機能するために必要です。

メモリ引数の説明

メモリ引数説明
-Xmsヒープの初期スペース。
-Xmxヒープの最大スペース。
-XX:NewSize最初の新しいスペース。 通常、新しいサイズをヒープ全体の半分に設定すると、より小さな新しいサイズを使用するよりもパフォーマンスが向上します。
-XX:MaxNewSize最大の新しいスペース。
-XX:MetaspaceSize静的コンテンツ用の初期スペース。
-XX:MaxMetaspaceSize静的コンテンツ用の最大スペース。
-XX:SurvivorRatio新しいスペースとSurvivor領域の比率。 Survivor領域は、古い世代の領域に昇格する前に、若い世代のオブジェクトを保持します。

DXPのインストール後、これらの構成(これらのJVMオプションを含む)をさらに調整して、パフォーマンスを向上させることができます。 詳細については、 Liferay のチューニング および JVM のチューニング を参照してください。

Liferayにおけるデータソースの設定

DXPには組み込みのHypersonicデータベースが含まれています。これはデモンストレーション目的には最適ですが、本番環境では使用しないでください。 本番環境では、フル機能のサポートされているRDBMSを使用してください。 データベースを設定するには、「 データベースの構成 」を参照してください。

Liferay DXPは、DXPに組み込まれているデータソースを使用する(推奨)か、アプリケーションサーバー上に作成したデータソースを使用してデータベースに接続できます。

DXP を初めて実行するときに、 セットアップ ウィザードを使用して、DXP の組み込みデータ ソースをデータベースで構成できます。 または、データベースの データベース テンプレート に基づいて、 portal-ext.properties ファイル でデータ ソースを構成することもできます。

JBoss EAPにおけるデータソースの設定

JBossを使用してデータソースを管理する場合は、次の手順に従います。

  1. WAR ファイルには、MariaDB および PostgreSQL 用のドライバーが含まれています。 以前のWARにはそれらがありません。 WAR に、使用しているサポートされているデータベース用のドライバーが含まれていない場合は、データベース ベンダーの JDBC JAR ファイルをダウンロードし、 $JBOSS_HOME/standalone/deployments/ROOT.war/WEB-INF/shielded-container-lib フォルダーに配置します。 これは、JBoss 上の Liferay にのみ必要な依存関係を追加する場合に推奨される方法です。 あるいは、JBoss のグローバル クラスパスの場所を使用して依存関係をインストールすることもできます

    サポートされているデータベースのリストについては、 互換性マトリックス を参照してください。

DXPには、テスト目的に役立つHypersonicデータベースが含まれています。 実稼働インスタンスには HSQL を使用しないでください

  1. まだ作成していない場合は、 module.xml というファイルを $JBOSS_HOME/modules/com/liferay/portal/main フォルダに作成します。 ファイルで、ポータル モジュールとその必要な依存関係をすべて宣言します。

    <?xml version="1.0"?>
    
    <module name="com.liferay.portal" xmlns="urn:jboss:module:1.5">
        <dependencies>
            <module name="jakarta.servlet.api" optional="true" />
            <module name="jakarta.transaction.api" />
        </dependencies>
    </module>
    
  2. DXP WAR またはデータベースベンダーから JDBC JAR を取得し、それを $JBOSS_HOME/modules/com/liferay/portal/main フォルダにコピーします。

  3. ポータルモジュールとJDBC JARを宣言するには、 $JBOSS_HOME/modules/com/liferay/portal/main フォルダ内の module.xml を更新します。 次のスニペットを </dependencies> 終了タグの後に貼り付けます。

    <resources>
        <resource-root path="[place your database vendor's JAR file name here]" />
    </resources>
    
  4. $JBOSS_HOME/standalone/configuration/standalone.xml ファイルの <datasources> 要素の中にデータソースを追加します。

    <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" jta="true" use-java-context="true" use-ccm="true">
        <connection-url>[place the URL to your database here]</connection-url>
        <driver>[place the driver name here]</driver>
        <security>
            <user-name>[place your user name here]</user-name>
            <password>[place your password here]</password>
        </security>
    </datasource>
    

    データベースのURL、ユーザー名、パスワードを適切な値に置き換えてください。

    データ ソース jndi-name を変更する必要がある場合は、 <default-bindings> タグ内の datasource 要素を編集します。

  5. ドライバーを standalone.xml ファイルの <drivers> 要素に追加します。この要素は <datasources> 要素内にもあります。

    <drivers>
        <driver name="[name of driver must match name above]" module="com.liferay.portal">
            <driver-class>[place your JDBC driver class here]</driver-class>
        </driver>
    </drivers>
    

    MySQLを使用する最終的なデータソースサブシステムは次のようになります。

    <subsystem xmlns="urn:jboss:domain:datasources:5.0">
        <datasources>
            <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" jta="true" use-java-context="true" use-ccm="true">
                <connection-url>jdbc:mysql://localhost/lportal</connection-url>
                <driver>mysql</driver>
                <security>
                    <user-name>root</user-name>
                    <password>root</password>
                </security>
            </datasource>
            <drivers>
                <driver name="mysql" module="com.liferay.portal">
                    <driver-class>com.mysql.cj.jdbc.Driver</driver-class>
                </driver>
            </drivers>
        </datasources>
    </subsystem>
    
  6. Liferay ホームの portal-ext.properties ファイルで、データ ソースを指定します。 例えば、

    jdbc.default.jndi.name=java:jboss/datasources/ExampleDS
    

これで、データソースが構成され、データベースに接続する準備ができました。

メールサーバーに接続する

データベース構成と同様に、構成するのが最も簡単なメールセッションはDXPです。 DXP の組み込みメール セッションを使用する場合は、このセクションをスキップし、コントロール パネルで メール サーバーに接続 します。

JBossでメールセッションを設定する場合は、以下の手順に従ってください。

  1. $JBOSS_HOME/standalone/configuration/standalone.xml ファイルでメールサブシステムを次のように指定します。

    <subsystem xmlns="urn:jboss:domain:mail:4.0">
        <mail-session name="java:jboss/mail/MailSession" jndi-name="java:jboss/mail/MailSession" >
            <smtp-server ssl="true"  outbound-socket-binding-ref="mail-smtp">
                <login username="[place user name here]" password="[place password here]"/>
            </smtp-server>
        </mail-session>
    </subsystem>
    ...
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    ...
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="[place SMTP mail host here]" port="[place mail port here]"/>
        </outbound-socket-binding>
    </socket-binding-group>
    
  2. Liferay Home の portal-ext.properties ファイルで、メールセッションを参照します。 例:

    mail.session.jndi.name=java:jboss/mail/MailSession
    

DXPのデプロイ

  1. ROOT.warデプロイメントをトリガーするには、 $JBOSS_HOME/ standalone/deployments / フォルダーに ROOT.war.dodeploy という名前の空のファイルを作成します。

  2. $JBOSS_HOME/bin に移動し、 standalone.shを実行して JBoss アプリケーションサーバーを起動します。 JBoss は ROOT.war.dodeploy ファイルを検出し、ファイルの接頭辞に一致する Web アプリケーションをデプロイします (つまり、 ROOT.war)。

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 のアクティブ化 」を参照してください。

  DXPはJBoss EAPで実行されています。

今後の流れ

管理者ユーザーとしてサインイン し、DXP でソリューションの構築を開始できます。 または、 Liferay DXP の追加のセットアップ トピックを参照することもできます。