Windows上でTrac月とApacheを共存させる
既に開発用にApacheをインストールして常時起動してあるWindows XPのPC上に、Trac月をインストールしようとしたところ、ちょっと面倒なことになったので解決までの道のりをメモ。
Trac月は、クリックするだけでWindows上に簡単にTracやSubversionのシステムを導入できるツールですが、ベースとしてApache2.2をインストールするので、別途Apache2.2をインストールしてある状態では、サービスが競合してしまいます。
そのために以下の作業を行います。(厳密には、Trac月のバイナリをクリックしてインストールした後に、実行するためにプログラムメニューから選択して行う「サービスのインストール」の前に作業します)
- ポート番号を修正
- インストールスクリプトを修正
1.では、同時に二つのApacheを別々のポートで使用するための変更で、80番(デフォルト)は先にインストールしてあるApacheで使うことを前提としています。
また、それだけでは、Windowsのサービスに登録するときに「サービスの名前」が重複して共存できないので(確か後からの方をインストールできなかった気がします)、2.で別の名前で登録するようにする、という作業をします。
ポート番号を修正
Trac月インストール時に、デフォルトで表示されるインストール先を選択したならば、C:\TracLight\apache22\conf\httpd.confを開いて以下のように修正します(該当行のみ)。ポート番号は好きな値を割り振ってください。ここでは3080とします。
Listen 3080 ServerName localhost:3080
インストールスクリプトの修正
C:\TracLight\bin\install-service.batを開き、3行目の以下を、
httpd.exe -k install
以下のように修正します。""内は好きな名前でよいと思いますが、"Apache22"から始まる文字列だったときにエラーが出ていた記憶があります。
httpd.exe -n "ApacheForTrac" -k install
修正後のスクリプトを実行することで、既存のApacheとは別のサービスとしてインストールすることができます。
まだ試してはいないのですが、アンインストール用のスクリプトでも同じく-nオプションをつけておいた方がよいのかもしれません。