cry-for-the-moon

IT関連の覚書きです。

IISとApacheの共存(Windows2008R2)

Windows2008R2で
IISApacheを共存させる方法。

 


一番一般的と思われるのはポート番号を
それぞれ別にする方法。
IISは80で、Apacheは8080とかね。

ただURLにポート番号入れたりとかはなんとなく
見た目が悪いのでやりたくない。
(そんなこと考えるならサーバ分けろよって言われると
身もふたもないのだが・・・。)

で、今回は別の方法。
今回のサーバはNIC2枚差しだったので、
IPアドレスを2個もってました。
ということで、それぞれのアドレスにバインドする方法を
探してみました。

Apacheの設定はhttpd.confの中で

Listen 192.168.1.1:80

といった感じで、IPアドレスとポートを指定すればOK。

IIS側の設定はバインドというところで
IPアドレスをリストから選択、ポート番号は記入できる。

これでOKと思ったら、そんなに世の中あまくなかった。

どうやらIISはバインドを設定しても
自分のサーバが持っている全IPに対して
指定したポートでバインドするらしい。
(いらねーことしやがって!)

これを解除するには、コマンドプロンプト

netsh http add listen ipaddress=10.0.0.1:80

とすると、IISでバインドするアドレスが、
上の例だと10.0.0.1だけになる。

参考(http://msdn.microsoft.com/ja-jp/library/ms733768.aspx

これで別々のIPアドレスに対して
ApacheIISを共存させることができました。

めでたし、めでたし。