IISでPHP
IISとは
IISとは(Internet Infomation Services)の略です。WindowsNT/2000ファミリやWindows XP ProfessionalにはIISというサーバが標準搭載されています。Windows98まではPWSというサーバが標準搭載されていたのですが、2000からはPWSではなく、このIISが搭載されるようになりました。現在はWindows2003 Serverに搭載されているIIS6が最新バージョンになりますが、ここではWindows2000 Professional/XP Professionalの方を対象にIIS5のインストール方法を説明します。
ちなみにWindows2000 Serverをお使いの方はセットアップ時にIISがすでにインストールされているはずです。Windows2003 Serverをお使いの方のIIS6.0も似たよーな手順で入ると思います。WindowNT Serverの方はIISなのですが、PWSでPHPの方で解説しているのでそちらをご覧下さい。
ちなみにWindowsME、WindowsXP Home Editionにはどーやらサーバは装備されていないようです。そもそもWindows系のサーバを入れられるのかどーかも分かりません。大変申し訳ありませんがこの辺のOSの方でどーしてもWindows系サーバを立てたい方は自分で調べてるか・・・・諦めてApacheでも入れて下さいm(__)m。MeならPWSが動いたとかなんとか聞いたことがあります。ただし、多分サポート対象外だと思いますので気をつけてください。
このIISは標準装備されているとはいえ、デフォルトではインストールされません。ただし98から2000へのアップグレードなどで98にあらかじめPWSがインストールされていた場合などは最初からIISがインストールされている事もあるらしいです。
IISのインストール
IISは管理者権限でないとインストールできません。まず、管理者権限でログインしなおしておいて下さい。
IISのインストールはコントロールパネルから行います。
スタート→設定→コントロールパネル→アプリケーションの追加と削除(XPだと多分プログラムの追加と削除)まで行ったら左のペインにある「Windowsコンポーネントの追加と削除」をクリックします。
こんな画面が出てきますので、「インターネット インフォメーション サービス(IIS)」のチェックボックスにチェックを入れます。
このまま次へを押すとデフォルトの設定でインストールが始まりますが、必要ないサービスをインストールしたくない場合は「詳細」をクリックします。
この画面で必要なサービスはチェック、不要なサービスはチェックを外し、「OK」をクリックすると上の画面へ戻ります。どのサービスが何か分からない人はデフォルト(初期設定のまま)でいいです。
「WWW(World Wide Web)サーバー」のサービスだけは当たり前ですが外さないように!!
「インターネット インフォメーション サービス スナップイン」はGUIでIISの管理をするために必要になりますのでこれも入れて下さい。これを入れないとコマンドラインから管理作業を実行することになり、まぁ・・・・そーとー不便でしょう(笑)。
その他に「共通コンポーネント」も必要だと思います。
「オンラインヘルプ」にチェックをつけておくとhttp://localhost/iishelp/にアクセスしてIISのオンラインヘルプが読めるようになるのでこれはチェックしておいてもいいかと思います。
あとはFrontPageを使うなら「Frontpage 2000 Server Extensions」とか、FTPサーバとして使うなら「FTPサーバ」をチェックをしますが、ここでは各サービスが何かの説明は省きますので知りたい方はご自分で調べて下さいm(__)m。必要なサービス以外はなるべく入れないのが安全です。特にFrontPageを持ってない人はら「Frontpage 2000 Server Extensions」は間違いなくいりません(笑)。
詳細の設定をしたら「次へ」をクリックするとインストールが始まりますので画面の指示に従って下さい。途中でWindowsのCDを求めてきますので必要に応じてCDドライブにWindows CD-ROMをセットして下さい。
「Windowsコンポーネントウィザードの完了」の画面が表示されればIISのインストールは完了です。パソコンの再起動を求められたらちゃんと再起動して下さい。
IISの起動と停止
パーソナルWebマネージャ
詳細設定で「パーソナルWebマネージャ」をインストールしていれば、スタート→設定→コントロールパネル→管理ツールの中に「パーソナルWebマネージャ」があります。
←こんなアイコン
これはPWSの管理ツールだったのですが、IISでも同様に使えますので、PWSを使っていた人には使いやすいと思います。ただし、どーやらこのツールはWindows2000 Professionalのみツールのようで、WindowsXP Professionalには付属してないとか何とか聞いたことがあります。
パーソナルWebマネージャがある場合はこれをダブルクリックすると下のような画面が出てきますので、ここの「メイン」から「開始」ボタンで起動と「停止」ボタンで停止ができます。画面に「開始」ボタンがねーじゃねーかって人のために説明しておくと、サーバが動いてる状態のときは「停止」となってるボタンが、サーバが停止しているときは「開始」ボタンになります。
インターネットサービスマネージャ
さて、「パーソナルWebマネージャ」がない場合はスタート→設定→コントロールパネル→管理ツールの中から「インターネットサービスマネージャ」を起動します。
←こんなアイコン
出てくる画面で「規定のWebサイト」を右クリックすると「開始」と「停止」がありますのでそこで操作してください。
コマンドライン
この場合はスタート→「ファイル名を指定して実行」で以下のようにします。
iisreset /restart
iisreset /start
iisreset /stop
上から再起動、起動、停止となります。
ブラウザで起動確認
IISが起動している状態でブラウザを立ち上げて・・・・
http://localhost/
にアクセスしてください。これで以下のような画面が出ていればPWSはちゃんとインストールされています。ちなみにすでにPWS/IISをインストールされていた方でアップグレードした方はその時のドキュメントが表示されるかもしれません。
オンラインヘルプのチェックをオンにした方は(デフォルトの設定でもオンになっているので、デフォルトの設定のままインストールした方も含みます)次のURLでオンラインヘルプが参照できます。
http://localhost/iishelp/
オンラインヘルプをインストールしたのに表示されないなどのトラブルも起きているよーですので表示されなかった方は各自で調べてみてください(笑)
IISでPHPの設定
IISをインストールしただけではIIS上でPHPは動きませんので、PHPを使えるようにする設定をしなくてはなりません。インターネットサービスマネージャから簡単に設定することができます。スタート→設定→コントロールパネル→管理ツールでインターネットサービスマネージャを起動して下さい。
ISAPIモジュール版PHP
インターネットサービスマネージャの「規定のWebサイト」を右クリック→プロパティと選択します。
「ISAPIフィルタ」タブをクリックして
この画面で「追加」をクリック
フィルタ名に「php」と入力し
実行ファイルにはphp4isapi.dll(PHP5の場合はphp5isapi.dll)というファイルへのリンクを入力します。参照ボタンから参照してもOKです。
php4isapi.dllは「PHPフォルダ\sapi」にあります。(PHP5のphp5isapi.dllの場合はインストールしたPHPフォルダ直下)
入力が終わったら「OK」をクリック。
次に「ホームディレクトリ」タブを選択します。
「アプリケーションの設定」欄の「構成」ボタンをクリック。
「アプリケーションのマッピング」タブの「追加」をクリック。
ここでも実行ファイルにphp4isapi.dll(PHP5の場合はphp5isapi.dll)へのリンクを入力します。参照ボタンから参照してもOKです。
拡張子には「.php」と入力します。
「動詞」欄の「制限」を選択し、「GET,HEAD,POST,TRACE」と入力します。
入力が終われば「OK」をクリック。
アプリケーションのマッピングに.phpが追加されていると思いますので、「OK」を押してIISを再起動して下さい。
これでIIS上でPHPが動くようになったはずです。PHPの動作確認でPHPの動作確認をしていますので参考にどうぞ。
CGIバイナリ版PHP
CGIバイナリの場合は説明がいろいろややこしいので自分で調べてもらいます(笑)
PHPマニュアル―インストール・IIS/PWSサーバ
をご覧になって各自の環境を整えてくださいww。上記のドキュメントで参照するのは「Windows NT/2000/XP と IIS 4 以降」の部分でいいかと思います。
PHPのCGIバイナリを使用したか、ISAPIモジュールを使用したか分からない方へ
インストーラ付きのPHPを入れた方はCGIバイナリ、自分でフォルダを解凍してフォルダをどこかに配置した方はISAPIモジュールです。CGIバイナリはインストーラ付きなので楽ですがPHPの利点が大幅に削られる為、できればISAPIモジュールの方がいいでしょう。ただし、CGI版のPHPしか許可してないサーバもあるみたいなので各自の環境に合わせてインストールする事をおすすめします。