Windows Server 2012にIIS 8 + PHP 5.4.10の環境を構築する
Windows Server 2012でIIS + PHPの稼働環境を構築してみます。参考にしたのは、以前Windows Server 2008 R2でIIS + PHPの環境を作った時のメモ。
Windows 2008 R2にIIS 7 + PHP 5.3.8の稼働環境を構築する
IIS 8のインストール
サーバーマネージャーの右上、[管理] - [役割と機能の追加]を選択します。

役割と機能の追加ウィザードが始まります。「次へ」をクリック。

インストール種類の選択では、「役割ベースまたは機能ベースのインストール」を選択して次へ。

インストールするサーバーを選んで次へ。

サーバーの役割選択画面では、Webサーバー(IIS)にチェックを付けます。

この時、「Webサーバー(IIS)に必要な機能を追加しますか?」というダイアログが表示されます。
「機能の追加」をクリックしてダイアログを閉じ、ウィザードの「次へ」をクリックします。

機能の選択画面では、何も変更せず次へ。

Webサーバーの役割(IIS)画面になります。
これ以降のウィザードで、インストールするIISの詳細設定を行います。
次へをクリックして、ウィザードを進めます。

役割サービスの選択では、[Webサーバー] - [アプリケーション開発] - [CGI]を選択して「次へ」。

インストールの最終確認画面です。
「必要に応じてサーバーを再起動する」にチェックをつけてみました。

「必要に応じて、このサーバーは自動的に再起動されます。自動的に再起動しますか?」という
確認メッセージが表示されます。
勝手に再起動されても問題ないので、「はい」を選択しました。

ちゃんとアプリケーション開発のCGIが選択されていることを確認して
「インストール」を実行します。

役割の追加中・・・

インストールが完了しました。所要時間は5分程度だったと思います。
「閉じる」をクリックして、ウィザードを終了します。

ブラウザを起動してhttp://[サーバーIP]/を表示してみます。
以下のような、IIS8の初期画面が表示されれば、インストールは成功です。

PHPの実行ファイルのダウンロードと設定
http://windows.php.net/download/
ここから、VC9 x86 Non Thread Safeのzipファイル、
「php-5.4.10-nts-Win32-VC9-x86.zip」をダウンロードします。

ダウンロードしたファイルを解凍し、内容を「c:\php5」というフォルダを作成して、そこへコピーしました。
「c:\php5」の中に「php.ini-production」というファイルがあるはずです。
コピーして名前を「php.ini」に変更します。

php.iniの内容を一部変更します。
※必ず事前に編集しておきます。正しく設定していないと500エラーでPHPが動いてくれません。
編集箇所の抜粋は以下のとおり。
;コメントを外す
cgi.fix_pathinfo=1
fastcgi.impersonate=1
;コメントをはずし、値を1から0に変更
cgi.force_redirect=0
;コメントを外し、値を設定する
error_log = c:/php5/logs/php_errors.log
date.timezone = Asia/Tokyo
open_basedir = "C:\inetpub\wwwroot"
extension_dir = "./ext"
ログの出力先として指定した「c:/php5/logs」を作成しておきます。

php5フォルダへのアクセス権設定
phpを保存した「c:\php5」フォルダを右クリックして、「プロパティ」を選択。
[セキュリティ]タブを選択して[編集]をクリックします。

php5のアクセス許可ダイアログが表示されます。
「追加」をクリック。

ユーザーまたはグループの選択画面が表示されます。
「選択するオブジェクト名を入力してください」の入力欄に「IIS_IUSRS」と入力して、
「名前の確認」をクリック。

正しく入力できていれば、こんな感じで自動的にフルネームになります。
「OK」をクリックして確定します。

php5のアクセス許可に「IIS_IUSRS」が追加されました。
「OK」を押して、ダイアログを終了します。

セキュリティタブでも追加されていることを確認できます。
「OK」を押して、アクセス権の設定を終了します。

Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)のインストール
Windows Server 2008 R2でPHPを動かすときには、Visual C++ 2008再頒布可能パッケージの
インストールが必要でした。
Windows Server 2012では最初から同梱されているようで、インストールは不要です。
IIS 8へPHPの登録
サーバーマネージャー右上の[ツール]から
[インターネットインフォメーションサービス(IIS)マネージャー]を選択します。

IISマネージャー起動時、
「最新のWeb Platformコンポーネントとの接続を維持するため、
Microsoft Web Platformの使用を開始しますか?」とい
メッセージが表示されます。
「はい」を選択するとWeb PlatformのURLがブラウザで表示されます。
とりあえず「いいえ」を選択しました。

IISマネージャーが起動したら、左側のツリーで[サーバー名] - [サイト] - [Default Web Site]を選択。
画面中央のアイテムから「ハンドラーマッピング」を選択。
右上の「機能を開く」をクリックします。

ハンドラーマッピングの画面が表示されます。
画面右側の「モジュールマップの追加」をクリック。

モジュールマップの追加ダイアログが表示されます。
以下の内容を入力、または選択します。
要求パス:*.php
モジュール:FastCgiModule
実行可能ファイル:c:\php5\php-cgi.exe
名前:phpFCgi(任意)
入力したらOKをクリック。

モジュールマップ追加の確認メッセージが表示されますので、「はい」をクリック。

ハンドラーマッピングにphpが追加されました。

これでIISマネージャーでの操作は終了です。
PHPの動作確認
C:\inetpub\wwwrootにinfo.phpというファイルを作成します。
内容は以下のとおり。
- <?php phpinfo(); ?>
ブラウザで、http://[サーバーIP]/info.phpを開きます。
以下の内容が表示されれば、IIS + PHPの設定は成功です。

【参考URL】
Windows 2008 R2にIIS 7 + PHP 5.3.8の稼働環境を構築する
http://symfoware.blog68.fc2.com/blog-entry-844.html
- 関連記事
-
- Windows Server 2012 + IIS 8でaspxを有効にする
- Windows Server 2012 IIS 8 + PHP 5.4で「No input file specified.」
- Windows Server 2012にIIS 8 + PHP 5.4.10の環境を構築する
- vpsのwebサービスに無料でドメイン名アクセスできるようにする
- xUnitで使用できるAssertion
コメント