【iis8+Apache】iisで管理中のサイトの一部をApacheで動かそう!
まぽらん「お、このPHPアプリ面白そうだな、早速自分のサーバー(iis)でも動かしてみよう!」
あぷり「悪いなまぽらん、この俺様はApache専用なんだ!!!!1」
まぽらん「ふぇぇ・・・」
かれこれ自宅サーバーを作って2年近く、当時はPT2録画機としてだったのでLinuxという選択肢がなかったため普通にWindowsでした。
その後ロリポップを解約して自宅サーバーにサイトを移行する時に自分はApacheではなくiisを選んだんですが・・・理由はよく覚えてません。
ですがまぁそう何年も使っていれば愛着も湧いてきて、今では手放せないぐらいには使っております。
ですが・・・やはりiisだと動かないphpアプリというのが存在するわけで・・・
今までは諦めてたんですがそろそろ自分の頭もiisに慣れてきたので以前挫折した「iisとApacheの共存」を再び挑戦してみることにしました!
ちなみに自分はApacheのことは毛ほどにも詳しくありません☆(ゝω・)vキャピ
目次
今回することの大筋
iisを中継してApacheのサーバーにつなげます。
例えばhttp://mapopi.com/はiisで表示しますがhttp://mapopi.com/Apache/はApacheサーバーのサイトを表示するとかできるようにします。
同様にhttp://Apache.mapopi.com/をApacheで表示するとかもできます。
前提条件
- iis8(8じゃなくてもいいとは思いますが)がインストールされていること
- ある程度はiisとApacheを理解していること
用意するもの
- Apacheのお好きなバージョン ※今回はWin32 Binary including OpenSSL 0.9.8y (MSI Installer) を使用
- Microsoft Application Request Routing(ARR) ※WebPIからインストールします
Apacheをインストール
早速Apacheをインストールします、httpd-2.0.65-win32-x86-openssl-0.9.8y.msiをクリックしてインストールを開始してください。
設定項目については
NetwordDomain: localhost
ServerName: localhost
Administrator’s Email Address: 適当にメルアド
チェックボタンは上の方を選んでください。
セットアップタイプはTypicalを選びます。
インストール場所は・・・いろいろいじりやすいという点ではProgramfiles以下ではないほうがいいです、自分はC:Apacheというフォルダを作ってそこにインストールしました。
あとは道なりにインストールしてください。
なんか途中でエラーはいてくるのですが・・・まぁこれはポート番号80のダブルブッキングの問題ですのでまずは仕方ありません。
とりあえずFinishさせます。
イントールが終わりましたらApacheの待ちポートを変更します。
インストールフォルダの中のconfフォルダ内にあるhttpd.confを選び
120行目の Listen 80 を Listen 8080 に変更
212行目の ServerName localhost:80 を ServerName localhost:8080 に変更
行数はバージョンが変わると違うかもしれないので気をつけてください。
今回ポート8080を使いましたが割と何でもいいです、他のアプリで使用していないポートを選んでください(別に外部に公開するポートではないので8080でいいと思います)。
終わりましたら再度httpd-2.0.65-win32-x86-openssl-0.9.8y.msiを起動しRepairを選択して再インストールします。
そしたら今度はしっかり終わる(他のアプリで8080が使われていない限りは)のでこれにてインストールは終了です。
ちなみにブラウザでhttp://localhost:8080/を入力して「YOUの予想に反してこのページが見えているでしょうか(゚∀゚)アヒャ」(v2.0の場合)とか言うのが表示されていたら一応ここまでの手順は全部OKです。
いちおう8080を公開すればApacheサーバーを公開できるのですが・・・8080とか毎回ブラウザに表示させるなんて終わってますからね、続きを行きましょう(´・_・`)
iisにApplication Request Routingをインストール
iisを起動しサーバーを選択後右の「新しい Web Platform コンポネートの取得」を選びます。
WebPIがインストールされていない場合はコチラからWebPIをダウソしてインストールしたあとiisを再起動すれば表示されます。
こんなかんじで出てきますので(自分はすでにインストール済みなっていますが)一番上の2.5 (KB 2589179 適用済み)をインストールしてください。
3.0 Betaでもいいかもしれませんが、無難に行きたいなら2.5でいいと思います。
インストールが終わったらiisを再起動してください。
ARRのセッティング
まず先ほどのARRを有効にするためにサーバーを選んだ後メニュー内の「Application Request Routing Chache」アイコンをクリックします。
右メニューの「Server Proxy Settings…」を選びます。
一番上のチェックボタンにチェックを入れたら右の適用を押して下さい。
中継サイトの作成と設定
出来ましたらApacheのサーバーを公開する時に経由する用のWebページを作ります。
自分はこんなかんじに作ってみました
サイト名:Apache
ディレクトリ:C:inetpubApache
ホスト名:ap.mapopi.com
作ったサイトのメニューからURLの書き換えを選択します。
規則の追加→受信規則→空の規則 を選択し、以下のように追加します。
以下にはデフォルトから変更してるものを書いています。
名前:適当に、Apacheとか
使用:ワイルドカード
パターン:* (アスタリスク)
URLの書き換え:http://localhost:8080/{R:0}
書き換えられたURLを記憶する:チェック
後続の規則の処理を停止する:チェック
これで設定は完了です。
これでサイトを作る際に設定したホスト名(自分の場合はhttp://ap.mapopi.com)にアクセスすると
あなたの予想に反して、このページが見えているでしょうか(゜∀。)ワヒャヒャヒャヒャヒャヒャ(v2.0の場合)
というのが表示されていると思います。
あとはapacheの設定方法を紹介しているページなんかを参考にしながらhtdocsの中身を変えたりとかすればいいでしょう。
これにてiisとApacheの共存のお話は終了です。
自分はApacheなんてLinuxで少し触ったことあるだけなので全然わかりません(´・_・`)
少し勉強してから色々なアプリを試してみたいと思います(`・ω・´)ゞ