にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

Windows上でTrac月とApacheを共存させる

既に開発用にApacheをインストールして常時起動してあるWindows XPのPC上に、Trac月をインストールしようとしたところ、ちょっと面倒なことになったので解決までの道のりをメモ。
Trac月は、クリックするだけでWindows上に簡単にTracSubversionのシステムを導入できるツールですが、ベースとしてApache2.2をインストールするので、別途Apache2.2をインストールしてある状態では、サービスが競合してしまいます。
そのために以下の作業を行います。(厳密には、Trac月のバイナリをクリックしてインストールした後に、実行するためにプログラムメニューから選択して行う「サービスのインストール」の前に作業します)

  1. ポート番号を修正
  2. インストールスクリプトを修正

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オプションをつけておいた方がよいのかもしれません。