Windows Server 2008 R2 Server CoreにIIS7 + PHP + MySQLの環境を構築する

Server CoreモードでWindows Server 2008 R2をインストールしました。
Windows Server 2008 R2 - Server Coreインストールし、共有フォルダを作成する

IIS7 + PHP + MySQLが動く環境を作ってみます。




IIS7のインストール



以下のコマンドを実行するだけ。


start /w pkgmgr /iu:IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel;IIS-CGI




07_001_20111204210004.png


コマンド実行後、ブラウザでhttp://[サーバーのIP]/を表示してみると、
ちゃんとIISのインストールが終わっているようです。

07_002_20111204210003.png







PHPのインストール



Windows 2008 R2にIIS 7 + PHP 5.3.8の稼働環境を構築する
ここと手順は同じです。


http://windows.php.net/download/
ここから、VC9 x86 Non Thread Safeのzipファイル、「php-5.3.8-nts-Win32-VC9-x86.zip」をダウンロードし、
c:\php5というフォルダを作成して、そこに解凍します。


手順は若干邪道な気もしますが、c:\php5を共有フォルダにして、
別端末で解凍したファイルをコピーしました。


mkdir c:\php5
net share php5=c:\php5 /grant:everyone,full





c:\php5\php.ini-productionをコピーして、c:\php5\php.iniを作成します。


変更した箇所を列挙すると以下のとおり。


fastcgi.impersonate=1
cgi.fix_pathinfo=1
cgi.force_redirect=0 ;コメントをはずし、値を1から0に変更
error_log = c:/php5/logs/php_errors.log
date.timezone = Asia/Tokyo
open_basedir = "C:\inetpub\wwwroot"
extension_dir = "./ext"

;セッションを保存するパスを、IIS_IUSRSがアクセス権のあるフォルダに変更する。
;事前にC:\php5\へsessionというフォルダを作成しておく。
;session.save_path = "/tmp"
session.save_path = "C:\php5\session"

;コメントをはずし、mysqlへ接続するための拡張ライブラリを有効にする
extension=php_mysql.dll
extension=php_mysqli.dll




合わせて、ログとセッションの出力先に指定したフォルダ、

c:\php5\logs
c:\php5\session


これらも作成しておきます。




php-cgi.exeを動かすために、
Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)
ここから、vcredist_x86.exeをダウンロードしてインストールします。

コマンドプロンプトから、

vcredist_x86.exe


と、exeのファイル名を指定すると、GUIのインストーラーが起動するので、
そのままインストールを行います。

Server Coreモードでも、GUIインストーラーが実行できるとは知りませんでした。








PHPをCGIとして指定



appcmdを使用して、IISにphpをCGIとして実行するよう指定します。

appcmdコマンド、パスが通っていないようで、
c:\Windows\System32\inetsrv
に移動してから実行しないと、そんなコマンドはないっていうエラーになります。


実行するコマンドは4つ。


appcmd set config /section:system.webServer/fastCGI/+[fullPath='c:\php5\php-cgi.exe']
appcmd set config /section:system.webServer/handlers /+[name='PHP-FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='c:\php5\php-cgi.exe',resourceType='Either']
appcmd set config "Default web site" /section:defaultDocument /enabled:true
appcmd set config "Default web Site" /section:defaultDocument /+files.[value='index.php']




最初の2行で、phpをcgiとして登録し、後の2行でindex.phpもデフォルトドキュメントとして
扱うよう指定しています。


実際に実行した様子はこんな感じになります。



c:\> cd c:\Windows\System32\inetsrv

>appcmd set config /section:system.webServer/fastCGI/+[fullPath='c:\php5\php-cgi.exe']
構成変更を構成コミット パス "MACHINE/WEBROOT/APPHOST" の "MACHINE/WEBROOT/APPHOST" の
セクション "system.webServer/fastCgi" に適用しました

>appcmd set config /section:system.webServer/handlers /+[name='PHP-FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='c:\php5\php-cgi.exe',resourceType='Either']
構成変更を構成コミット パス "MACHINE/WEBROOT/APPHOST" の "MACHINE/WEBROOT/APPHOST" の
セクション "system.webServer/handlers" に適用しました

>appcmd set config "Default web site" /section:defaultDocument /enabled:true
構成変更を構成コミット パス "MACHINE/WEBROOT/APPHOST/Default Web Site" の
"MACHINE/WEBROOT/APPHOST/Default Web Site" のセクション "system.webServer/defaultDocument" に適用しました

>appcmd set config "Default Web Site" /section:defaultDocument /+files.[value='index.php']
構成変更を構成コミット パス "MACHINE/WEBROOT/APPHOST/Default Web Site" の
"MACHINE/WEBROOT/APPHOST/Default Web Site" のセクション "system.webServer/defaultDocument" に適用しました





C:\inetpub\wwwrootに

<?php phpinfo(); ?>


と記載したinfo.phpというファイルを作成し、ブラウザで
http://[サーバーIP]/info.phpにアクセスしてみます。

こんな表示になれば、設定は上手くいってます。

07_003_20111204210003.png







MySQLのインストール




Windows Server 2008 R2 にMySQL 5.5をインストールし、IIS 7 + PHP 5.3.8から接続する
ここで行ったこととまったく同じ手順です。


http://www.mysql.com/downloads/mysql/5.5.html#downloads
ここからmysql-5.5.18-winx64.msiをダウンロードして、サーバーにコピーします。

コマンドプロンプトで、

mysql-5.5.18-winx64.msi


としてやると、普通にインストーラーが起動します。

07_004_20111204210003.png

インストーラーの指示に従い、MySQLのインストールを行いました。


動作確認として、adminerを設置したところ、無事データベースの内容が表示されました。

07_005_20111204210003.png


mantisも入れて動かして見ましたが、特に問題無し。

07_006_20111204210003.png




Server Coreモード + PHP + MySQLだったら、最初からLinux系のOSを
選んでるよってパターンが多い気もしますが・・・

まあ、Server Coreモードのお勉強の一貫として。




参考URL



Server Core + IIS7 + PHP + MySQL
http://pingdennis.wordpress.com/2007/11/20/server-core-iis7-php-mysql/

Appcmd.exe を起動する (IIS 7)
http://technet.microsoft.com/ja-jp/library/cc730918(WS.10).aspx

Server Core での FastCGI サポートのインストール
http://technet.microsoft.com/ja-jp/library/ff454081.aspx

Windows 2008 R2にIIS 7 + PHP 5.3.8の稼働環境を構築する
http://symfoware.blog68.fc2.com/blog-entry-844.html

Windows Server 2008 R2 にMySQL 5.5をインストールし、IIS 7 + PHP 5.3.8から接続する
http://symfoware.blog68.fc2.com/blog-entry-845.html





関連記事

コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ