「Tomcat」 APR をインストールする
Tomcat インストール後、デフォルトの状態で起動すると、以下のようなメッセージが出力される。
情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/java/jdk1.6.0_30/jre/lib/i386/client: /usr/local/java/jdk1.6.0_30/jre/lib/i386:/usr/local/java/jdk1.6.0_30/jre/../lib/i386: /usr/java/packages/lib/i386:/lib:/usr/lib
server.xml に以下のようなリスナークラスの設定がされてて、これが原因みたい
( コメントアウトすると出力されなくなる )。
APR 関連のライブラリ探しに行ったけど、それが無かった的な感じっぽい。
<!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
Apache Portable Runtime ( APR ) は、Web サーバの機能を強化するものみたいです。
http://tomcat.apache.org/tomcat-7.0-doc/apr.html
http://apr.apache.org/
Tomcat を Web サーバとして使うってあんまりないと思うし、このメッセージは別に動作に影響
与えるようなものでもないので、ほっといても特に問題はないと思う。
いつもはほっておくけど、今回はは APR インストールしてみてこいつが出力されないようにして
みたので、その時のメモ。
インストールは、上記の Tomcat のドキュメントを参考にやる。
以下の環境で実施。
CentOS 6.2
Tomcat 7.0.27
Java SE 6 Update 30
ドキュメントの Requirements を見ると、以下が必要みたいなので、ひとまずこいつらをインストールしてやる。
1. APR 1.2+ development headers (libapr1-dev package)
2. OpenSSL 0.9.7+ development headers (libssl-dev package)
3. JNI headers from Java compatible JDK 1.4+
4. GNU development environment (gcc, make)
1. APR
http://apr.apache.org/
APR 1.2 ってのがどうしも見つけられずだったので、1.4.6 をダウンロード。
tar zxvf apr-1.4.6.tar.gz cd apr-1.4.6 ./configure make make install
何も怒られることなくインストール終了しました。
2. OpenSSL
http://www.openssl.org/source/
openssl-0.9.8k.tar.gz をダウンロードする。
( 0.9.7 でやりたかったが、make で怒られる。
"i486" なるオプションが使ってる gcc のバージョン 4.4.6 にはないらしい
gcc の古いバージョンダウンロードしたらいけるんだろうけど、ちょっと
今はそんな元気ないんで、0.9.8k でやりました。 )
tar zxvf openssl-0.9.8k.tar.gz cd openssl-0.9.8k ./config make make install
3. JDK
割愛
4. gcc、make
1、2 やっていれば既に入っているはず。
yum とかで適当に。
1 ~ 4 で必要なものはそろったので、いよいよ APR のインストールに移る。
[Tomcat インストールディレクトリ]/bin/tomcat-native.tar.gz を展開。
tar zxvf tomcat-native.tar.gz cd tomcat-native-1.1.23-src/jni/native ./configure --with-apr=/usr/local/apr make make install
configre の際には APR がインストールされているディレクトリを指定してやる。
じゃないと「checking for APR... no」って言われちゃう。
make innstall まですると、以下のようなメッセージが出力される。
---------------------------------------------------------------------- Libraries have been installed in: /usr/local/apr/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ----------------------------------------------------------------------
4 つぐらい方法が紹介されてて、そのうちどれかひとつやれってことかな。
今回は LD_LIBRARY_PATH に /usr/local/apr/lib を設定してやる方法を採用。
export LD_LIBRARY_PATH=/usr/local/apr/lib:$LD_LIBRARY_PATH
上記で APR のインストールは完了。
Tomcat を起動しても、本件のメッセージは出力されず、以下のようになる。
ちゃんと APR のライブラリをロードできているようです。
2012/04/19 2:26:43 org.apache.catalina.core.AprLifecycleListener init 情報: Loaded APR based Apache Tomcat Native library 1.1.23.