Tomcatへのインストール
Liferay DXP 2025年第3四半期以降 / ポータル 2026年第1四半期以降
Jakarta 以前の Liferay バージョンについては、 Tomcat への以前のバージョンのインストールを参照してください。
Liferay-Tomcat バンドル または Docker イメージ を使用するのが、Liferay DXP を使い始める最も早い方法です。 この記事は、Tomcatアプリケーションサーバーの設定を完全に制御したいユーザーを対象としています。
続行する前に、 Liferay-Tomcat バンドルのインストール および データベースの設定 の記事を確認してください。
Tomcatにインストールするには、DXP WARのインストール、依存関係のインストール、Tomcatの設定、およびDXPのデプロイが必要です。 データベースとメールサーバーの接続も設定する必要があります。
これを実現する最もシンプルで簡単な方法は、 Liferay Liferay-Tomcat バンドルをダウンロードし、そこから依存関係、スクリプト、および ROOT.xml を以下の場所にコピーすることです。 それ以外の方法としては、依存関係をダウンロードして、Tomcatを手動で構成できます。
前提条件
Tomcat をどのように構成したかに関係なく、 ヘルプ センター (サブスクリプション) または Liferay コミュニティ ダウンロードからこれらのファイルをダウンロードしてインストールする必要があります。
- DXP WARファイル
- OSGi依存関係のZIPファイル
- Tomcat 10+
Liferay DXP/Portal を実行するには、 サポートされている Java バージョン が必要です。 推奨設定については、 JVM 構成 を参照してください。
Tomcat サーバーの親フォルダは Liferay Homeです。 $TOMCAT_HOMEはTomcatサーバーフォルダを参照します。 通常は、tomcat-[version]またはapache-tomcat-[version]という名前です。
DXP WARのインストール
-
クリーンなTomcatのインストールを開始する場合は、
$CATALINA_BASE/webapps/ROOTフォルダのコンテンツを削除します。 これにより、デフォルトのTomcatホームページが削除されます。 -
DXP
.warファイルのコンテンツを$CATALINA_BASE/webapps/ROOTに展開します。
依存関係のインストール
DXPは、Liferay-Tomcatバンドルに含まれている多くのJARに依存しています。 バンドル内のJARの中には必須ではないファイルもありますが、有用なJARもあります。 Tomcat バンドルを使用していない場合は、ダウンロードした OSGi 依存関係 アーカイブと、以下に説明するサードパーティの JAR 依存関係を使用する必要があります。
-
OSGi依存関係のZIPファイルの内容を
[Liferay Home]/osgiフォルダーに解凍します(このフォルダーが存在しない場合は作成します)。 LiferayのOSGiランタイムは、これらのモジュールに依存しています。 -
DXP WAR ファイルには、MariaDB および PostgreSQL 用のドライバーが含まれています。 以前のWARにはそれらがありません。 WAR に、使用しているサポートされているデータベース用のドライバーが含まれていない場合は、データベース ベンダーの JDBC JAR ファイルをダウンロードし、
$CATALINA_BASE/webapps/ROOT/WEB-INF/shielded-container-libフォルダーに配置します。サポートされているデータベースのリストについては、 互換性マトリックス を参照してください。
HypersonicデータベースはDXPにバンドルされており、テスト目的に役立ちます。 実稼働インスタンスには HSQL を使用しないでください 。
Tomcatの設定
DXPを実行するためのTomcatの構成には、次のタスクが含まれます。
- JVMオプションの設定
- DXPのWebアプリケーションコンテキストを指定する
- プロパティと記述子の設定
-
setenv.bat、setenv.sh、startup.bat、startup.sh、shutdown.bat、およびshutdown.shファイルをDXPバンドルから$CATALINA_BASE/binフォルダにコピーします。 それ以外の場合は、setenv.batおよびsetenv.shスクリプトを作成します。 -
setenv.shスクリプトはCatalina用のJVMオプションを設定し、Tomcatのサーブレットコンテナになります。 これらのオプションの中にはJavaランタイム環境の場所が含まれます。 この環境がサーバーでグローバルに使用できない場合は、setenv.shスクリプトにその場所を設定して、Tomcatを実行できるようにします。JAVA_HOME環境変数がDXPがサポートするJREを指すようにして、これを行います。export JAVA_HOME=/usr/lib/jvm/java-8-jdk export PATH=$JAVA_HOME/bin:$PATH -
次に、DXPをサポートするようにCatalinaのJVMオプションを設定します。
CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Dlog4j2.formatMsgNoLookups=true -Duser.timezone=GMT -Xms2560m -Xmx2560m -XX:MaxNewSize=1536m -XX:MaxMetaspaceSize=768m -XX:MetaspaceSize=768m -XX:NewSize=1536m -XX:SurvivorRatio=7"
JVMオプションの説明
| オプション | 説明 |
|---|---|
-Dfile.encoding=UTF-8 | DXPにはUTF-8ファイルエンコーディングが必要です。 |
-Djava.net.preferIPv4Stack=true | IPv6よりもIPv4スタックを優先します。 |
-Dlog4j2.formatMsgNoLookups=true | リモートコード実行(RCE)の脆弱性を解決します。 詳細については、 LPS-143663 を参照してください。 |
-Duser.timezone=GMT | DXPでは、アプリケーションサーバーのJVMがGMTタイムゾーンを使用する必要があります。 |
メモリ引数の説明
| メモリ引数 | 説明 |
|---|---|
-Xms | ヒープの初期スペース。 |
-Xmx | ヒープの最大スペース。 |
-XX:NewSize | 最初の新しいスペース。 通常、新しいサイズをヒープ全体の半分に設定すると、より小さな新しいサイズを使用するよりもパフォーマンスが向上します。 |
-XX:MaxNewSize | 最大の新しいスペース。 |
-XX:SurvivorRatio | 新しいスペースとSurvivor領域の比率。 Survivor領域は、古い世代の領域に昇格する前に、若い世代のオブジェクトを保持します。 |
DXPのインストール後、これらの構成(これらのJVMオプションを含む)をさらに調整して、パフォーマンスを向上させることができます。 詳細については、 Liferay のチューニング および JVM のチューニング を参照してください。
引き続き、Tomcatの構成を行います。
-
Liferay-Tomcatバンドルがある場合は、その
$CATALINA_BASE/conf/Catalina/localhost/ROOT.xmlファイルをアプリケーションサーバーの対応する場所にコピーします。 ファイルパス(存在しない場合)とROOT.xmlファイルを作成します。ROOT.xmlファイルは、DXPのWebアプリケーションコンテキストを指定します。 例えば、<Context crossContext="true"> <JarScanner className="com.liferay.support.tomcat.util.scan.NOPJarScanner" /> <!-- JAAS --> <!--<Realm className="org.apache.catalina.realm.JAASRealm" appName="PortalRealm" userClassNames="com.liferay.portal.kernel.security.jaas.PortalPrincipal" roleClassNames="com.liferay.portal.kernel.security.jaas.PortalRole" />--> </Context>crossContext="true"を設定すると、複数の Web アプリケーションで同じクラス ローダーを使用できるようになります。 この構成には、JAAS領域を構成するためのコメント付きの指示とタグが含まれています。重要デフォルトの Liferay Portal Web コンテキストは、XML ファイル名を変更することで変更できます (例:
localhost:8080/からlocalhost:8080/myportal) が、これはお勧めしません。 -
必ずUTF-8 URIエンコードを使用してください。
$CATALINA_BASE/conf/server.xmlファイルをTomcatバンドルからサーバーにコピーします。 それ以外の場合は、$CATALINA_BASE/conf/server.xmlファイルを開き、redirectPort=8443を使用する HTTP および AJP コネクタに属性URIEncoding="UTF-8"を追加します。 以下は例です:旧:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />新:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />旧:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />新:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" /> -
$CATALINA_BASE/conf/server.xml内のアクセスログのValve要素をコメントアウトして、アクセスログの書き込みを控えます(オプション)。 以下ではコメントアウトされています。<!-- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> --> -
必要に応じて、
$CATALINA_HOME/conf/logging.propertiesファイルで次のログレベルを設定します。org.apache.catalina.startup.Catalina.level=INFO org.apache.catalina.startup.ClassLoaderFactory.level=SEVERE org.apache.catalina.startup.VersionLoggerListener.level=WARNING org.apache.level=WARNING -
$CATALINA_HOME/conf/web.xmlで、アプリケーションサーバーがアプリケーションのJARやクラスの注釈などの追加のメタデータを検索するかどうかを指定します。web-app要素の属性metadata-complete="true"を設定すると、アプリケーション サーバーに追加のメタデータがないことが通知されます。 この設定を使用すると、アプリケーションサーバーの起動が速くなります。 デフォルトでは、追加のメタデータをチェックします。 -
Unix、Linux、またはMac OSを使用している場合は、各フォルダで次のコマンドを実行して、
$CATALINA_HOME/binおよび$CATALINA_BASE/binフォルダのシェルスクリプトを実行可能にします。chmod a+x *.sh
LiferayのTomcatサポートJARは、DXP Webアプリケーションの一部です。 DXPはJARのファイルスキャナーを使用します。 DXP が JAR を使用するには、共通クラス ローダー内に JAR が存在している必要があります。 $CATALINA_BASE/conf/catalina.propertiesファイルを開き、次の値をcommon.loaderプロパティのコンマ区切り値リストの先頭に追加して、ファイルへのCatalinaアクセスを提供します。
"${catalina.home}/webapps/ROOT/WEB-INF/lib/support-tomcat.jar",
チェックポイント:
- ファイルのエンコーディング、ユーザーのタイムゾーン、および優先プロトコルスタックが
setenv.shスクリプトに設定されている。 - デフォルトの使用可能メモリとメタスペース制限が設定されている。
$CATALINA_BASE/conf/Catalina/localhost/ROOT.xmlはWebアプリケーションコンテキストを宣言している。$CATALINA_BASE/conf/server.xmlは、UTF-8エンコーディングを設定している。$CATALINA_BASE/conf/server.xmlは、ホストアクセスログを書き込むための値を宣言していない。 (オプション)$CATALINA_HOME/conf/logging.propertiesは、必要なログレベルを設定している。$CATALINA_HOME/conf/web.xmlは、タグハンドラープールを設定し、Java 8をJSPコンパイラとして設定している。$CATALINA_HOME/conf/web.xmlは、アプリケーションサーバーが追加のメタデータを検索しないように指定している。 (オプション)- Tomcatの
binフォルダ内のスクリプトは実行可能である。 $CATALINA_BASE/conf/catalina.propertiesのcommon.loaderプロパティは、Catalinaに必要なJARへのアクセスを許可している。
アプリケーションサーバーは、DXPを実行するように設定されています。
データベース設定
DXPには組み込みのHypersonicデータベースが含まれています。これはデモンストレーション目的には最適ですが、本番環境では使用しないでください。 本番環境では、フル機能のサポートされているRDBMSを使用してください。 データベースを設定するには、「 データベースの構成 」を参照してください。
Liferay DXPは、DXPに組み込まれているデータソースを使用する(推奨)か、アプリケーションサーバー上に作成したデータソースを使用してデータベースに接続できます。
DXP を初めて実行するときに、 セットアップ ウィザードを使用して、DXP の組み込みデータ ソースをデータベースで構成できます。 または、データベースの データベース テンプレート に基づいて、 portal-ext.properties ファイル でデータ ソースを構成することもできます。
それ以外の場合は、Tomcatでデータソースを設定できます。
Tomcatデータソースの設定
-
データベースサーバーがインストールされ、動作していることを確かめます。 別のマシンにインストールされている場合は、DXPマシンがアクセスできることを確認してください。
-
DXP WAR またはデータベース ベンダーから JDBC JAR を取得し、それを
$TOMCAT_HOME/lib/extフォルダーにコピーします。 -
$CATALINA_BASE/conf/Catalina/localhost/ROOT.xmlを開き、Webアプリケーションコンテキストでリソースとしてデータソースを追加します。<Context...> ... <Resource name="jdbc/LiferayPool" auth="Container" factory="com.zaxxer.hikari.HikariJNDIFactory" type="jakarta.sql.DataSource" minimumIdle="10" maxLifetime="0" maximumPoolSize="85" driverClassName="com.mysql.jdbc.Driver" dataSource.user="[place your user name here]" dataSource.password="[place your password here]" jdbcUrl="jdbc:mysql://localhost/lportal?characterEncoding=UTF8&dontTrackOpenResources=true&holdResultsOpenOverStatementClose=true&useFastDateParsing=false&useUnicode=true" /> </Context>データベースのURL、ユーザー名、パスワードを適切な値に置き換えてください。 Liferay は、データベース接続プールにデフォルトで Hikari CP を使用することに注意してください。
-
[Liferay_Home]の
portal-ext.propertiesファイルで、データソースを指定します。 例えば、jdbc.default.jndi.name=jdbc/LiferayPool
データソースが設定されました。
JNDI接続を使用している場合は、 TomcatでのJNDIの設定を参照してください。
メール設定
メールを設定する最も簡単な方法は、DXP 組み込みメールセッションを使用することです。 組み込みのメールセッションを使用する場合は、このセクションをスキップしてください。
Tomcatを使用してメールセッションを管理する場合は、次の手順に従います。
-
$CATALINA_BASE/conf/Catalina/localhost/ROOT.xmlを開き、メールセッションをWebアプリケーションContextのResourceとして定義します。 サンプルのメールセッション値を自分のものに置き換えてください。<Context...> ... <Resource name="mail/MailSession" auth="Container" type="jakarta.mail.Session" mail.pop3.host="[place POP mail host here]" mail.pop3.port="110" mail.smtp.host="[place SMTP mail host here]" mail.smtp.port="465" mail.smtp.user="[place user name here]" mail.smtp.password="[place password here]" mail.smtp.auth="true" mail.smtp.starttls.enable="true" mail.smtp.socketFactory.class="jakarta.net.ssl.SSLSocketFactory" mail.imap.host="[place IMAP mail host here]" mail.imap.port="993" mail.transport.protocol="smtp" mail.store.protocol="imap" /> </Context> -
Liferay Homeの
portal-ext.propertiesファイルで、メールセッションを指定します。 例:mail.session.jndi.name=mail/MailSession
メールセッションはTomcatで設定されます。
DXPのデプロイ
$CATALINA_HOME/binに移動して./startup.shを実行し、Tomcatを起動します。 または、./catalina.sh runを実行して、DXPのログファイルを追跡します。 ログは起動アクティビティを監査し、デプロイのデバッグに役立ちます。
Liferay DXP Enterpriseサブスクリプションをお持ちの場合、DXPはアクティベーションキーを要求します。 詳細については、「 Liferay DXP のアクティブ化 」を参照してください。
DXPはTomcatで実行されています。
今後の流れ
管理者ユーザーとしてサインイン し、DXP でソリューションの構築を開始できます。 または、 Liferay DXP の追加のセットアップ トピックを参照することもできます。