Tomcat6と5を両方サービスとして動かす

会社のチームで使っているTomcat5.0系が動いてるWindowsマシンがあるんだけど、インストール位置(ディレクトリ)とか諸々が気持ち悪い&Tomcat6.0系を入れてコメットとかいろいろしてみたいということで、そのマシンにTomcat6.0を入れてみたい。

また、起動とかメンドクサイし、気分が出ないのでサービスにしときたい。

まずはTomcat6について、ちょっと調べて、とってきてインストールしてみた。

とってきたTomcatは6.0.14の簡単お気楽exeインストーラ
で、普通にexeファイルを実行してみると・・・やっぱり、なんだか途中で以下のようなエラーが出てしまう。

Failed to install Tomcat6 service.
Check your settings and permissions
Ignore and continue anyway (not recommended)?

もうちょっと親切なメッセージが嬉しいなぁとは思うが、まあこれは想定範囲内。しゃあないということで、で以下などを参考にちょっとがんばってみる。

結論

このサイトのとおりやればOK! すばらしい!
http://www.tec-q.com/note/2007/03/tomcat_56.html

エラーの原因

Tomcat 5と6、普通にインストールすると、どちらもWindowsサービス的には"Apache Tomcat"という表示名(DisplayName)で登録されてしまい名前がぶつかるのがまずい。サービス名としてはそれぞれ"tomcat5", "tomcat6"と分別してるのに・・

対応策

したがって既にインストールされているTomcat5サービスの名前を変更してからTomcat6をインストールすれば普通に入ってしまう。

Tomcat6インストール前にDos窓からこれをやる

D:\tomcat60>sc GetDisplayName tomcat5
[SC] GetServiceDisplayName SUCCESS
名前 = Apache Tomcat

D:\tomcat60>sc config tomcat5 DisplayName= "Tomcat 5.0"
[SC] ChangeServiceConfig SUCCESS

D:\tomcat60>sc GetDisplayName tomcat5
[SC] GetServiceDisplayName SUCCESS
名前 = Tomcat 5.0

DisplayName=のあとにスペースを入れないとエラーになるので注意。


以上をやってからTomcat6をインストールすれば普通に入る。

まあ、Tomcat5のサービス表名前(DisplayName)を"Tomcat 5.0"に変更したのだから、6もデフォルトの"Apache Tomcat"から"Tomcat 6.0"に変更しておこう。

D:\tomcat60>sc GetDisplayName tomcat6
[SC] GetServiceDisplayName SUCCESS
名前 = Apache Tomcat

D:\tomcat60>sc config tomcat6 DisplayName= "Tomcat 6.0"
[SC] ChangeServiceConfig SUCCESS

D:\tomcat60>

ふむふむ。

WindowsサービスをいじるにはDOS窓でscコマンド

ってことを覚えましたです。MySQLを複数入れたりするときにも役立つかな?