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

WildFlyへのインストール

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

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

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

前提条件

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

これらのファイルは、 ヘルプセンター (サブスクリプション)または Liferayコミュニティダウンロードからダウンロードしてください。 管理者は以下をダウンロードする必要があります。

  • DXP WARファイル
  • OSGi依存関係のZIPファイル
  • ワイルドフライ 30+

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

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

$WILDFLY_HOME:WildFlyサーバーフォルダー。 通常、wildfly-[version]という名前です。

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

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

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

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

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

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

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

ドメインモードの展開を使用する場合は、コマンドラインインターフェースを使用します。

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

WildFlyの構成

WildFlyがDXPを実行するように構成するには、次のものが含まれます。

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

$WILDFLY_HOME/standalone/configuration/standalone.xmlに以下の変更を加えます。

  1. <server>内の終了 </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. WildFly サーバーで IBM JDK を使用している場合は、 $WILDFLY_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と起動スクリプトを構成します。

$WILDFLY_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="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -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=1800WildFly の起動に失敗した場合に備えて再試行するためのタイムアウトを設定します。
-Duser.timezone=GMTDXPでは、アプリケーションサーバーのJVMがGMTタイムゾーンを使用する必要があります。

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

メモリ引数の説明

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

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

チェックポイント:

  1. ファイルのエンコーディング、ユーザーのタイムゾーン、優先プロトコルスタックは、 standalone.conf.shスクリプトのJAVA_OPTSに設定されています。

  2. 利用可能なメモリのデフォルト量が増加しました。

これで、WildFlyにDXPをインストールするための規定のスクリプト変更が完了しました。

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

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

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

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

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

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

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

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

HypersonicデータベースはDXPにバンドルされており、テスト目的に役立ちます。 本番環境の DXP インスタンスには 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 を取得し、それを $WILDFLY_HOME/modules/com/liferay/portal/main フォルダにコピーします。

  3. ポータルモジュールとJDBC JARを宣言するには、 $WILDFLY_HOME/modules/com/liferay/portal/main フォルダ内の module.xml を更新します。

    <resources>
        <resource-root path="[place your database vendor's JAR file name here]" />
    </resources>
    
  4. $WILDFLY_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 your driver name here]</driver>
         <security user-name=[place your user name here] password=[place your password here]/>
     </datasource>
    

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

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

  5. standalone.xml ファイルの <drivers> 要素( <datasources> 要素内にも見つかります)にドライバー クラス名を追加します。

    <drivers>
        <driver name="[name of database driver]" module="com.liferay.portal">
            <driver-class>[JDBC driver class]</driver-class>
        </driver>
    </drivers>
    

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

    <subsystem xmlns="urn:jboss:domain:datasources:1.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 Home フォルダ内の portal-ext.properties ファイルで、JNDI データ ソースを指定します。 例えば、

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

これでデータソースが構成され、準備が整いました。

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

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

WildFlyでメールセッションを管理する場合は、次の手順に従います。

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

    <subsystem xmlns="urn:jboss:domain:mail:4.0">
        <mail-session jndi-name="java:jboss/mail/MailSession" name="mail-smtp">
            <smtp-server ssl="true" outbound-socket-binding-ref="mail-smtp" username="USERNAME" password="PASSWORD"/>
        </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 host here]" port="[place SMTP 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のデプロイをトリガーするには、$WILDFLY_HOME/standalone/deployments/フォルダに ROOT.war.dodeployという名前の空のファイルを作成します。

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

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はWildFlyで実行されています。

今後の流れ

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