Liferay DXP 7.1Tomcat 9にバンドルされているLiferay DXP 7.1は、カスタマーポータル(DXP)またはLiferay Downloads(ポータルCE)で入手できます。 Tomcatバンドルには、クリーンなTomcat 9アプリケーションサーバーにLiferay DXP をインストールするために必要なJAR、スクリプト、および設定ファイルが含まれています。 Liferay DXP Tomcatバンドルからこれらのファイルをコピーすると、TomcatへのLiferay DXPのインストールが容易になります。
バンドルファイルをコピーする(推奨)または、ファイルをダウンロードして作成するかにかかわらず、DXPまたはPortal CE用にこれらのファイルをダウンロードしてください。
-
Liferay DXP WARファイル
-
依存関係のZIPファイル
-
OSGi JARファイルのZIPファイル
以下はTomcatにLiferay DXPをインストールするための基本的な手順です。
Liferay Homeは、Tomcatサーバーのフォルダを含むフォルダです。Liferay DXPがTomcat上にインストールされ、デプロイされると、Liferay Homeには、Tomcatサーバーフォルダーdata
、deploy
、 license
、osgi
フォルダーが作成されます。$TOMCAT_HOME
はTomcatサーバーフォルダーのことを指しています。このフォルダーは、tomcat-[version]
または、 apache-tomcat-[version]
という名前になっています。
Liferay DXP の依存ファイルをインストールする
Liferay DXPはLiferay DXP Tomcatバンドルに含まれる多くのJARに依存します。バンドル内のJARの中には必須ではないファイルもありますが、有用なJARもあります。Liferay DXP Tomcat バンドルを使用していない場合は、必要なJARをサードパーティからダウンロードできます。
-
フォルダー
$TOMCAT_HOME/lib/ext
が存在しない場合は作成し、依存関係のZIPからそのフォルダーにJARを抽出します。JARのリストです:com.liferay.petra.concurrent.jar
com.liferay.petra.executor.jar
com.liferay.petra.function.jar
com.liferay.petra.io.jar
com.liferay.petra.lang.jar
com.liferay.petra.memory.jar
com.liferay.petra.nio.jar
com.liferay.petra.process.jar
com.liferay.petra.reflect.jar
com.liferay.petra.string.jar
com.liferay.registry.api.jar
hsql.jar
portal-kernel.jar
portlet.jar
-
次のJARをダウンロードするか、Liferay DXP Tomcatバンドルから
$TOMCAT_HOME/lib/ext
フォルダにコピーします: -
データベースのJDBCドライバを
$CATALINA_BASE/lib/ext
フォルダにコピーします。一般的なドライバは次のとおりです。 -
Liferay Homeに
osgi
フォルダを作成します。OSGiのZIPファイルからフォルダー(configs
、core
など)をosgi
フォルダーに抽出します。このosgi
フォルダはLiferay DXPのOSGiランタイムに必要なモジュールを提供します。
チェックポイント:
-
$CATALINA_BASE/lib/ext
フォルダにはこれらのJARファイルが含まれています。activation.jar
ccpp.jar
com.liferay.petra.concurrent.jar
com.liferay.petra.executor.jar
com.liferay.petra.function.jar
com.liferay.petra.io.jar
com.liferay.petra.lang.jar
com.liferay.petra.memory.jar
com.liferay.petra.nio.jar
com.liferay.petra.process.jar
com.liferay.petra.reflect.jar
com.liferay.petra.string.jar
com.liferay.registry.api.jar
hsql.jar
jms.jar
jta.jar
jutf7.jar
mail.jar
mariadb.jar
mysql.jar
persistence.jar
portal-kernel.jar
portlet.jar
postgresql.jar
support-tomcat.jar
-
$CATALINA_BASE/lib/ext
フォルダには、これらのJARが含まれています:configs
core
marketplace
modules
portal
static
test
war
Tomcatの設定
次に、Liferay DXPを起動できるようにTomcatを設定します。
- 環境変数を設定する
- Liferay DXP用のWebアプリケーションコンテキストの指定
- プロパティと記述子の設定
オプションとして、Liferay DXP用にこれらを管理するようにTomcatを設定することができます。
次に、Liferay DXPを起動できるようにTomcatを設定します。
-
バンドルを使用している場合は、バンドル内の
setenv.bat
とsetenv.sh
ファイルを、$CATALINA_BASE/bin
フォルダーにコピーします。そうでない場合は、これらのスクリプトを作成します。これらのスクリプトはCatalinaの複数のJVM オプションを設定し、 TomcatのServletのコンテナーを含んでいます。これらのオプションの中にはJavaランタイム環境の場所が含まれます。ご使用のサーバー全体的でこの環境が利用できない場合は、ご利用の環境でのJavaランタイムへのパスをこのファイル内に設定してTomcatが動作できるようにします。これには、OSの
JAVA_HOME
環境変数がLiferay DXPがサポートしているJREを指すように設定します:export JAVA_HOME=/usr/lib/jvm/java-8-jdk export PATH=$JAVA_HOME/bin:$PATH
次に、Liferay DXPをサポートするようにCatalinaのJVMオプションを設定します。
Unix:
CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF8 -Djava.net.preferIPv4Stack=true -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false -Duser.timezone=GMT -Xmx2048m -XX:MaxMetaspaceSize=512m"
Windows:
set "CATALINA_OPTS=%CATALINA_OPTS% -Dfile.encoding=UTF8 -Djava.net.preferIPv4Stack=true -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false -Duser.timezone=GMT -Xmx2048m -XX:MaxMetaspaceSize=512m"
上記はファイルのエンコードを UTF-8(IPv6よりIPv4スタックが好ましい)に設定します。 これにより静的またはFinal変数に関するガーベジコレクションのバグを回避し、(これはLiferay DXP本体に存在するバグではなく、ログシステムに支障が出るのを回避します)タイムゾーンをGMTに設定し、JVMに2GBのRAMを提供し、Metaspaceを500MBに限定します。
インストール後、パフォーマンスを向上させるためにシステム(これらのJVMオプションを含む)を調整してください。
-
Liferay DXP Tomcatバンドルがある場合は、その
$CATALINA_BASE/conf/Catalina/localhost/ROOT.xml
ファイルをアプリケーションサーバーの対応する場所にコピーします。ファイルパスが存在しない場合は作成します。Liferay DXP Tomcatバンドルがない場合は、ROOT.xml
ファイルを作成してください。ROOT.xml
ファイルには、LiferayのDXPのためのWebアプリケーションのコンテキストを指定します。ROOT.xml
このようになります:<Context crossContext="true" path=""> <!-- 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" />--> <!-- Uncomment the following to disable persistent sessions across reboots. --> <!--<Manager pathname="" />--> <!-- Uncomment the following to not use sessions. See the property "session.disabled" in portal.properties. --> <!--<Manager className="com.liferay.support.tomcat.session.SessionLessManagerBase" />--> <Resources> <PreResources base="${catalina.base}/lib/ext/portal" className="com.liferay.support.tomcat.webresources.ExtResourceSet" webAppMount="/WEB-INF/lib" /> </Resources> </Context>
設定
crossContext="true"
すると、複数のWebアプリケーションが同じクラスローダーを使用できます。この設定には、JAAS領域の設定、永続するセッションの無効化、セッションの完全な無効化のためのコメント付きの説明とタグが含まれています。 -
$CATALINA_BASE/conf/catalina.properties
ファイルを開いて、>$CATALINA_BASE/lib/ext
にあるcommon.loaderproperty
にこの値を追加することで、CatalinaによるJARへのアクセスを提供します。,"${catalina.home}/lib/ext/global","${catalina.home}/lib/ext/global/*.jar","${catalina.home}/lib/ext","${catalina.home}/lib/ext/*.jar"
-
必ずUTF-8 URIエンコードを使用してください。Liferay DXP Tomcatバンドルがある場合は、
$CATALINA_BASE/conf/server.xml
ファイルをサーバーにコピーしてください。そうでない場合は、$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" />
-
UNIX、Linux、またはMac OSを使っている場合は、それぞれのフォルダで下記のコマンドを実行し、
$CATALINA_HOME/bin
と$CATALINA_BASE/bin
フォルダの中に実行可能なシェルスクリプトを作成します。chmod a+x *.sh
チェックポイント:
この時点で、アプリケーションサーバーが設定されLiferay DXPを起動できます。
-
ファイルのエンコーディング、ユーザーのタイムゾーン、および優先プロトコルスタックが
setenv.sh
に設定されています。 -
デフォルトの使用可能メモリとメタスペース制限が設定されています。
-
$CATALINA_BASE/conf/Catalina/localhost/ROOT.xml
Webアプリケーションのコンテキストを宣言します。 -
$CATALINA_BASE/conf/catalina.properties
のcommon.loader
は、CatalinaがJARの$CATALINA_BASE/lib/ext
へのアクセスできよう許可を出します。 -
$CATALINA_BASE/conf/server.xml
は、UTF-8 encodingを設定します。 -
Tomcatの
bin
フォルダ内のスクリプトは実行可能です。
データベースの設定
データベース設定を処理する上で一番簡単な方法は Liferay DXPにデータソースを管理させることです。 Liferay DXPの 基本設定 ページはLiferay DXPにビルトインされたデータソースの設定ができます。Liferay DXPに備わっているデータソースを使用する場合は、このセクションは必要ではありません。
Tomcatでデータソースを管理する場合は、次の手順で行います:
-
データベースサーバーがインストールされ、動作していることを確かめます。別マシーンにインストールしている場合は、Liferay DXPからアクセスできることを確かめます。
-
$CATALINA_BASE/conf/Catalina/localhost/ROOT.xml
を開いて、Resource``Context
としてWebアプリケーションにデータソースを追加します。<Context...> ... <Resource name="jdbc/LiferayPool" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8" username="root" password="root" maxActive="100" maxIdle="30" maxWait="10000" /> </Context>
上記のリソース定義は、
root
というユーザー名でパスワードがroot
というユーザーが含まれるlportal
という名前のMySQLのものです。これらの値を自分のものに置き換えてください。 -
portal-ext.properties
では、Liferay Home内のファイル、データソースを指定します。jdbc.default.jndi.name=jdbc/LiferayPool
Tomcatが管理するデータソースを作成し、それを使用するようにLiferay DXPを設定しました。メールセッションの設定は次です。
メール設定
データベースと同様、メール設定の処理もLiferay DXPに行わせるのが一番簡単な方法です。Liferay DXPの内蔵メールセッションを使用したい場合は、このセクションを飛ばしてコントロールパネルでメールセッションを設定してください。
Tomcatとのメールセッションを管理したい場合は、次の手順に従ってください。
-
$CATALINA_BASE/conf/Catalina/localhost/ROOT.xml
を開いて、Resource``Context
としてWebアプリケーションにデータソースを追加します。サンプルのメールセッション値を必ず自分のものに置き換えてください。<Context...> ... <Resource name="mail/MailSession" auth="Container" type="javax.mail.Session" mail.pop3.host="pop.gmail.com" mail.pop3.port="110" mail.smtp.host="smtp.gmail.com" mail.smtp.port="465" mail.smtp.user="user" mail.smtp.password="password" mail.smtp.auth="true" mail.smtp.starttls.enable="true" mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory" mail.imap.host="imap.gmail.com" mail.imap.port="993" mail.transport.protocol="smtp" mail.store.protocol="imap" /> </Context>
-
Liferayのホーム内の
portal-ext.properties
ファイル、メールセッションを参照します。mail.session.jndi.name=mail/MailSession
Tomcatが管理するためのメールセッションを作成し、それを使用するようにLiferay DXPを設定しました。
Liferay DXPをデプロイする
これで、Liferay DXP DXP WARファイルを使用してLiferay DXPをデプロイする準備が整いました。
-
Liferay DXPをクリーンなTomcatサーバーに手動でインストールする場合は、
$CATALINA_BASE/webapps/ROOT
フォルダの内容を削除してください。これにより、デフォルトのTomcatホームページが削除されます。 -
Liferay DXP
.war
ファイルを$CATALINA_BASE/webapps/ROOT
に展開します。Tomcatで Liferay DXPを起動する準備ができました。
-
$CATALINA_HOME/bin
へ行き、./startup.sh
を実行し、Tomcatを実行します。代用として、./catalina.sh run
を実行し、Liferay DXPのログファイルを使用し、Tomcatを開始することも可能です。ログは起動時のアクティビティを監査し、展開のデバッグに役立ちます。
これで、TomcatにLiferay DXPを正常にインストールしデプロイできました。