一つの IP で mnow.jp と www.mnow.jp の2つを共存させる必要があったので、やってみました。
DELLSERVER は Windows2003Server で IIS6が動いています。
今までの mnow.jp です。
HPSERVER は Windows2008WebServer で IIS7 が動いています。
将来的には全てWindows2008WebServer に移行するのですが、やはりこちらも外出ししたい。
いや、ほんとは Microsoft スキルチャージプログラム 第3弾 インストールその3 で既に www.mnow.jp で 一回外出ししたのですが、mnow.jp が見えなくなってしまったので内にこもらせたのです。
自宅内ではローカルのネットワーク内で www.mnow.jp と mnow.jp を区別できて表示できるように DNS の設定はされています。
解決方法を探っていくと、リバースプロキシ という単語に突き当りました。
さらに Apache と IIS を共存させるということがわかってきました。
1) Windows 版の Apache を ここから ダウンロードして DELLSERVER(Windows2003Server)にインストール。
2) DELLSERVER の IIS の ポート80 を全て ポート8080 に変更。
3) Apache の httpd.conf の変更。
LoadModule の有効化(コメントはずし)と、NameVirtualHost、VirtualHost の設定です。
ちなみに、hpserver.mnow.local と dellserver.mnow.local は、ローカルのネットワーク内各サーバーのドメイン名です。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
NameVirtualHost *:80
<VirtualHost *:80>
ProxyPass / http://hpserver.mnow.local/
ProxyPassReverse / http://hpserver.mnow.local/
ServerName www.mnow.jp
ErrorLog logs/hpmnow-error.log
</VirtualHost>
<VirtualHost *:80>
ProxyPass / http://dellserver.mnow.local:8080/
ProxyPassReverse / http://dellserver.mnow.local:8080/
ServerName mnow.jp
ErrorLog logs/mnow-error.log
</VirtualHost>
4) DELLSERVER の IIS や Apache の再起動。
5) DELLSERVER や HPSERVER の DotNetNuke のサイト設定変更
(hpserver.mnow.local/ や dellserver.mnow.local:8080/ を認識させる)
とっちゃん に確認をお願いしながら、特に Apache の httpd.conf は慣れていないので少し試行錯誤で設定しました。
何回も TEST に協力してくれた とっちゃん に感謝です。
もし、Apache の専門家の方が見てくれててここを直したほうがいいよってアドバイスがあれば mnow@yahoo.co.jp にメールください。
ちなみに、Apache のWebページは全くありません。