ドキュメントインデックス

はじめに

Apache Tomcat Native Library は Apache Tomcat で使用するためのオプションコンポーネントであり、Tomcat が JSSE の代わりに OpenSSL を使用して TLS 接続をサポートできるようにします。

ヘッドライン

ビルド

要件

TC-Native をビルドするには、次のコンポーネントがインストールされている必要があります

  • APR ライブラリ
  • OpenSSL ライブラリ
  • Java SE Development Kit (JDK)

Debian ベースの Linux ディストリビューションの場合、これらの依存関係は次のコマンドを使用してインストールできます

apt-get install libapr1-dev libssl-dev openjdk-11-jdk

RPM ベースの Linux ディストリビューションの場合、これらの依存関係は次のコマンドを使用してインストールできます

yum install apr-devel openssl-devel java-11-openjdk-devel

UNIX

すべての POSIX ライクなシステム (Linux, Solaris, HP-UX, AIX など) では、よく知られている configure および make を使用して TC-Native をビルドします。
すべての構成パラメータの説明を表示するには、ソースディストリビューションの native ディレクトリで次のコマンドを実行します

./configure --help

TC-Native のビルドに必要なインクルードと makefile を作成するには、次のコマンドを使用します

./configure --with-apr=$HOME/APR \
            --with-java-home=$JAVA_HOME \
            --with-ssl=$HOME/OPENSSL \
            --prefix=$CATALINA_HOME

ここで
$HOME/APR は APR インストールへのパスです(例:/usr/bin/apr-1-config)。
$JAVA_HOME は JDK インストールへのパスです(例:/home/jfclere/JAVA/jdk11)。 任意の JDK バージョンが動作するはずですが、Tomcat で使用する JVM バージョンと同じものを使用することをお勧めします。
$HOME/OPENSSL は OpenSSL がインストールされているパスです。
$CATALINA_HOME は生成されたライブラリがインストールされるパスです(例:$HOME/apache-tomcat-10.1.0)。

configure スクリプトは、ほとんどの標準的な APR および OpenSSL インストールを自動的に検出できます。 したがって、通常は同等のコマンドで十分です

./configure --with-java-home=$JAVA_HOME --prefix=$CATALINA_HOME

ライブラリをビルドしてインストールするには、以下を実行します

make && make install

ライブラリは $CATALINA_HOME/lib にインストールされます。

Windows

標準的なリリースディストリビューションを作成する手順を含む詳細なビルド手順は、Wiki で提供されています。

インストールとテスト

Tomcat の構成

Apache Tomcat には、AprLifecycleListener がデフォルトで有効になっています。 ただし、conf/server.xml ファイルをチェックして、次の構成が存在し、コメントアウトされていないことを確認することをお勧めします

<Listener className="org.apache.catalina.core.AprLifecycleListener" />

詳細な構成手順については、Apache Tomcat のドキュメントを参照してください ( Tomcat 11.0.x, Tomcat 10.1.x および Tomcat 9.0.x を参照してください)。

UNIX

TC-Native ライブラリが正しくロードされていることを確認するには、次の手順に従います

  • $CATALINA_HOME/bin/setenv.sh ファイルを編集します。 詳細な手順については、Apache Tomcat ディストリビューションの RUNNING.txt ファイルを参照してください。
  • TC-Native ライブラリが $CATALINA_HOME/lib に存在することを確認し、TC-Native ライブラリへのパスを LD_LIBRARY_PATH に追加します
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
    export LD_LIBRARY_PATH
  • Tomcat を起動し、ログに次のようなメッセージが表示されるかを確認します
    21-Jun-2024 11:06:23.274 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [2.0.7] using APR version [1.7.3].
    21-Jun-2024 11:06:23.298 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 3.2.1 30 Jan 2024]

コネクタの詳細な構成については、Apache Tomcat のドキュメントを参照してください ( Tomcat 11.0.x, Tomcat 10.1.x および Tomcat 9.0.x を参照してください)。

Windows

TC-Native ライブラリが正しくロードされていることを確認するには、次の手順に従います

  • $CATALINA_HOME/bin/setenv.sh ファイルを編集します。 詳細な手順については、Apache Tomcat ディストリビューションの RUNNING.txt ファイルを参照してください。
  • tcnative-2.dll ファイルが Tomcat の実行に使用する JVM (x86 または x64) の CPU アーキテクチャと一致し、$CATALINA_HOME/bin ディレクトリにあることを確認してください。
    または、TC-Native ライブラリへのパスを PATH 環境変数に追加することもできます
    set PATH=%PATH%;C:\your\path\to\tc-native-dll
  • Tomcat を起動し、ログに次のようなメッセージが表示されるかを確認します
    21-Jun-2024 11:06:23.274 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [2.0.7] using APR version [1.7.3].
    21-Jun-2024 11:06:23.298 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 3.2.1 30 Jan 2024]