検証などの関係で、一台のPCに複数バージョンのApacheを入れたいことがあったりする。
そんな時、普通にインストールしようとすると「あなたのPCには既にApacheが・・・」というメッセージが出てきてインストールできない(ウルサイそんなことは分かっているんだ)。
というわけで、複数バージョンをインストールする方法。
1.最初は普通にインストールする
複数バージョンの最初の一台は、普通にインストールする。これは、普通にインストールしないとhttpd.confなどの設定ファイルが作成されないためだ。
2.コマンドラインからインストールを行い、msiファイルを展開する
次に、別バージョンのインストール。
落としてきたmsiファイルを、下記のコマンドで解凍する(msiファイル名とTARGETDIRは適宜読み替え)。
msiexec /a apache.msi /qb TARGETDIR=C:\Apache
これを実行すると幾つかフォルダができるが、その中のprogram filesのフォルダにApacheのフォルダがある。これをコピーして適当なフォルダに配置する。
3.設定ファイルのコピーと書き換え
コマンドラインインストールした場合、confのなかは空っぽになっているので、1の手順で普通にインストールしたApacheのconfファイルをコピーする。
ServerRoot
やDocumentRoot
は当然コピー元のApacheで設定されているので、これは適宜書き換えを行う(置換してしまえばOK)。
あとは、ルートディレクトリにlogsのフォルダを作成すれば、作業完了。
注意点
Apacheはメジャーバージョンが異なるとLoadModuleの名前が変わっていたりするので(2.0->2.2ではmod_accessがmod_authz_hostになったりとか・・・)、この方法で複数バージョンやろうとするとhttpd.confでエラーが発生する可能性がある。
その際は公式ページを見ながらモジュールを書き換え都度頑張るか、もうやだ、となった場合はおとなしくアンインストール/インストールする。アンインストールしてもconfファイルは残るので、2以降の手順で複数バージョンインストールは行うことができる。