TomcatにLiferay DXPをインストールする方法

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サーバーフォルダーdatadeploylicenseosgiフォルダーが作成されます。$TOMCAT_HOMEはTomcatサーバーフォルダーのことを指しています。このフォルダーは、tomcat-[version]または、 apache-tomcat-[version]という名前になっています。

Liferay DXP の依存ファイルをインストールする

Liferay DXPはLiferay DXP Tomcatバンドルに含まれる多くのJARに依存します。バンドル内のJARの中には必須ではないファイルもありますが、有用なJARもあります。Liferay DXP Tomcat バンドルを使用していない場合は、必要なJARをサードパーティからダウンロードできます。

  1. フォルダー$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
  2. 次のJARをダウンロードするか、Liferay DXP Tomcatバンドルから$TOMCAT_HOME/lib/extフォルダにコピーします:

  3. データベースのJDBCドライバを$CATALINA_BASE/lib/extフォルダにコピーします。一般的なドライバは次のとおりです。

  4. Liferay Homeにosgiフォルダを作成します。OSGiのZIPファイルからフォルダー(configscoreなど)をosgiフォルダーに抽出します。このosgiフォルダはLiferay DXPのOSGiランタイムに必要なモジュールを提供します。

チェックポイント:

  1. $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
  2. $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を設定します。

  1. バンドルを使用している場合は、バンドル内のsetenv.batsetenv.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オプションを含む)を調整してください。

  2. 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領域の設定、永続するセッションの無効化、セッションの完全な無効化のためのコメント付きの説明とタグが含まれています。

  3. $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"
    
  4. 必ず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" />
    
  5. UNIX、Linux、またはMac OSを使っている場合は、それぞれのフォルダで下記のコマンドを実行し、$CATALINA_HOME/bin$CATALINA_BASE/binフォルダの中に実行可能なシェルスクリプトを作成します。

    chmod a+x *.sh

チェックポイント:

この時点で、アプリケーションサーバーが設定されLiferay DXPを起動できます。

  1. ファイルのエンコーディング、ユーザーのタイムゾーン、および優先プロトコルスタックがsetenv.shに設定されています。

  2. デフォルトの使用可能メモリとメタスペース制限が設定されています。

  3. $CATALINA_BASE/conf/Catalina/localhost/ROOT.xmlWebアプリケーションのコンテキストを宣言します。

  4. $CATALINA_BASE/conf/catalina.propertiescommon.loaderは、CatalinaがJARの$CATALINA_BASE/lib/extへのアクセスできよう許可を出します。

  5. $CATALINA_BASE/conf/server.xmlは、UTF-8 encodingを設定します。

  6. Tomcatのbinフォルダ内のスクリプトは実行可能です。

データベースの設定

データベース設定を処理する上で一番簡単な方法は Liferay DXPにデータソースを管理させることです。 Liferay DXPの 基本設定 ページはLiferay DXPにビルトインされたデータソースの設定ができます。Liferay DXPに備わっているデータソースを使用する場合は、このセクションは必要ではありません。

Tomcatでデータソースを管理する場合は、次の手順で行います:

  1. データベースサーバーがインストールされ、動作していることを確かめます。別マシーンにインストールしている場合は、Liferay DXPからアクセスできることを確かめます。

  2. $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&amp;characterEncoding=UTF-8"
    username="root"
    password="root"
    maxActive="100"
    maxIdle="30"
    maxWait="10000"
    />
    </Context>
    

    上記のリソース定義は、rootというユーザー名でパスワードがrootというユーザーが含まれるlportalという名前のMySQLのものです。これらの値を自分のものに置き換えてください。

  3. portal-ext.propertiesでは、Liferay Home内のファイル、データソースを指定します。

    jdbc.default.jndi.name=jdbc/LiferayPool
    

Tomcatが管理するデータソースを作成し、それを使用するようにLiferay DXPを設定しました。メールセッションの設定は次です。

メール設定

データベースと同様、メール設定の処理もLiferay DXPに行わせるのが一番簡単な方法です。Liferay DXPの内蔵メールセッションを使用したい場合は、このセクションを飛ばしてコントロールパネルでメールセッションを設定してください。

Tomcatとのメールセッションを管理したい場合は、次の手順に従ってください。

  1. $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>
    
  2. Liferayのホーム内のportal-ext.propertiesファイル、メールセッションを参照します。

    mail.session.jndi.name=mail/MailSession
    

Tomcatが管理するためのメールセッションを作成し、それを使用するようにLiferay DXPを設定しました。

Liferay DXPをデプロイする

これで、Liferay DXP DXP WARファイルを使用してLiferay DXPをデプロイする準備が整いました。

  1. Liferay DXPをクリーンなTomcatサーバーに手動でインストールする場合は、$CATALINA_BASE/webapps/ROOTフォルダの内容を削除してください。これにより、デフォルトのTomcatホームページが削除されます。

  2. Liferay DXP .warファイルを$CATALINA_BASE/webapps/ROOTに展開します。

    Tomcatで Liferay DXPを起動する準備ができました。

  3. $CATALINA_HOME/binへ行き、./startup.shを実行し、Tomcatを実行します。代用として、./catalina.sh runを実行し、Liferay DXPのログファイルを使用し、Tomcatを開始することも可能です。ログは起動時のアクティビティを監査し、展開のデバッグに役立ちます。

これで、TomcatにLiferay DXPを正常にインストールしデプロイできました。

« 手動でLiferay DXPをインストールするWildflyにLiferay DXPをインストールする »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています