code up

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Apache Tomcat 7.0.26がリリースしてました

Apache Tomcatのバージョン7.0.26がリリースされています。

アーカイブのタイムスタンプでは2012/02/21にリリースされた模様。

Changelogで気になったのは、

Update Commons Daemon to 1.0.9 to resolve 52548 which meant that services created with service.bat did not set the catalina.home and catalina.base system properties. (markt)

サービス実行時の引数の値の解釈についてCommons Daemonに不具合があったので1.0.9にしました、という内容である。

Commons Daemonの不具合報告のページを見るとWindowsだけの問題っぽい。ただWinと*nixでCommons Daemonのバージョンは一緒にあがっていくので自動的に*nix系も1.0.9となる。つまり、jsvcを使って*nixでサービス化している場合には、アップグレード時にはjsvcも再コンパイルした方が良いんでしょう。

なぜこの修正をピックアップしたかというと、本日、7.0系の話ではないのだが6.0系のjsvcにて『jsvc.exec error: syscall failed in set_caps』というエラーが出ていることに気づいた。そのTomcatは6.0.26(Commons Daemon 1.0.1)とちょっと古めのバージョン。

このメッセージで検索するとTomcatが起動できないという報告が出てくるが、起動はできている。setuid/setgidで失敗しているからだ、という報告もあるが起動ユーザーは指定のものとなっている。Commons DaemonのFAQでは"Default Linux Capabilities"を有効にして再起動しろ、とかmodprobe capabilityを実行しろ、とある。他のシステムも動いている環境なので再起動などできるはずもなく、エラーメッセージひとつのために(ましてTomcatは起動しているので)カーネルにモジュールを組み込む気にもならず。

原因は結局分からなかったのだが、jsvcだけ6.0.35にあるもの(1.0.7)に入れ替えたところエラーメッセージは出なくなった。ちなみに1.0.9は6.0.36に含まれる予定とのこと。

jsvcを6.0.35下で作成時に実行したコマンドを掲載。以前の記事で少し触れたがTomcatを自動的に起動するには?を参考にした。

wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
tar xvfz apache-tomcat-6.0.35.tar.gz
cd apache-tomcat-6.0.35/bin
tar xvfz commons-daemon-native.tar.gz
cd commons-daemon-1.0.7-native-src/unix
./configure
make
chown foobar:foobar jsvc
# tomcat/binにコピー
cp jsvc ../..

jsvc(=Commons Daemon)は、7.0のコンパイル6.0のコンパイル方法はどちらも同じ。

diff

7.0.25と7.0.26のdiffを取ったところconf/web.xmlに追加と修正があった。IANAのデータベースに合わせた対応かな。

$ sudo diff apache-tomcat-7.0.25/conf/web.xml apache-tomcat-7.0.26/conf/web.xml | grep exten
>         <extension>cap</extension>
>         <extension>dmp</extension>
>         <extension>dvb</extension>
>         <extension>gbr</extension>
>         <extension>ink</extension>
>         <extension>inkml</extension>
>         <extension>iota</extension>
>         <extension>mft</extension>
>         <extension>oxps</extension>
>         <extension>pcap</extension>
>         <extension>roa</extension>
>         <extension>smzip</extension>
>         <extension>taglet</extension>
>         <extension>uvvz</extension>
>         <extension>uvz</extension>
>         <extension>vcard</extension>

$ sudo diff apache-tomcat-7.0.25/conf/web.xml apache-tomcat-7.0.26/conf/web.xml | grep sub
<         <mime-type>image/vnd.dvb.subtitle</mime-type>
>         <mime-type>text/vnd.dvb.subtitle</mime-type>
関連記事
タグ:Tomcat jsvc Apache
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。