Tomcatへのインストール
Liferay DXP 2025.Q3+/Portal 2026.Q1+
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ファイルの中には、必ずしも必須ではないものもありますが、それでも役立つ場合があります。 Tomcat バンドルを使用していない場合は、ダウンロードした OSGi 依存関係 アーカイブと、以下に説明するサードパーティの JAR 依存関係を使用する必要があります。
-
OSGi Dependencies ZIP ファイルの内容を
[Liferay Home]/osgiフォルダーに解凍します (このフォルダーが存在しない場合は作成してください)。 LiferayのOSGiランタイムは、これらのモジュールに依存しています。 -
DXP WARファイルには、MariaDBとPostgreSQLのドライバが含まれています。以前のWARにはそれらがありません。 WAR に使用しているサポート対象データベースのドライバが含まれていない場合は、データベースベンダーの JDBC JAR ファイルをダウンロードし、
$CATALINA_BASE/webapps/ROOT/WEB-INF/shielded-container-libフォルダに配置してください。
DXPにはHypersonicデータベースが同梱されており、テスト目的で役立ちます。本番環境ではHSQLを使用しないでください。
Tomcatの設定
TomcatでDXPを実行するための設定には、以下のタスクが含まれます。
- 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スクリプトは、Tomcat のサーブレットコンテナである Catalina の JVM オプションを設定します。これらの選択肢の中には、Javaランタイム環境の場所も含まれる。この環境がサーバー上でグローバルに利用できない場合は、Tomcat が実行できるように、setenv.shスクリプトでその場所を設定してください。これを行うには、環境変数とを DXP でサポートされている JRE に指定します。export JAVA_HOME=/usr/lib/jvm/java-8-jdk export PATH=$JAVA_HOME/bin:$PATH -
次に、CatalinaのJVMオプションを設定してDXPをサポートするようにします。
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)。ただし、これは推奨されません。 -
URIエンコーディングは必ずUTF-8を使用してください。 Tomcat バンドルから
$CATALINA_BASE/conf/server.xmlファイルをサーバーにコピーします。そうでない場合は、$CATALINA_BASE/conf/server.xmlファイルを開き、URIEncoding="UTF-8"をredirectPort=8443を使用する HTTP および AJP コネクタに追加します。以下に例を示します。古い:
<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" /> -
アクセス ログの書き込みを控える (オプション) には、
Valve要素をコメントアウトします。$CATALINA_BASE/conf/server.xml内 。ここにコメントアウトされています。<!-- <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ウェブアプリケーションの一部です。 DXPはJARファイルのファイルスキャナを使用します。 DXPがJARファイルを使用するには、そのJARファイルが共通クラスローダーに存在している必要があります。 Catalina がファイルにアクセスできるようにするには、 $CATALINA_BASE/conf/catalina.properties ファイルを開き、 common.loader プロパティのカンマ区切り値リストの先頭にこの値を追加します。
"${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にはデモンストレーション目的には最適なハイパーソニックデータベースが組み込まれていますが、 は本番環境では使用しないでください。本番環境では、フル機能のサポートされている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 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 の設定に関するその他のトピックについても確認することができます: