• 追加された行はこの色です。
  • 削除された行はこの色です。
  • Server/IIS/PHP へ行く。

#contents

*はじめに [#j8793eba]
ここでは、WindowsXP Pro他に付属する
Microsoftのインターネットサーバ"IIS"を利用した
PHP実行環境の構築例を紹介します。~

*PHPの準備 [#t6ff4c15]
**ダウンロード [#ecc09414]
http://www.php.net/
のダウンロードページからダウンロードします。~
~
Windows Binariesの中には、''zip package''、''Collection of PECL modules for PHP''、''installer''がありますが、ZIPパッケージをダウンロードします。~
~
http://jp.php.net/get/php-5.0.4-Win32.zip/from/a/mirror
~
をクリックすると、ミラーサーバを指定されますが、大抵は国内のミラーが指定されますので、たとえば「JAPAN」以下に指定されるミラーからダウンロードして下さい。

**インストール [#h664a107]
ZIPファイルの中身を、任意のディレクトリに展開します。~
(ここでは、''c:\usr\local\php''に展開します)

**設定 [#y09bebfd]
***設定ファイルのコピー [#vcf11ea5]
-''c:\usr\local\php''に展開される''php.ini-dist''を、Windowsのシステムディレクトリにコピーし、ファイル名を''php.ini''に変更します。
-コピー先のファイルのショートカットを、''c:\usr\local\php''に作っておくと便利です。

***設定 [#e2dc85bb]
-455行目付近~
 extension_dir = "C:/usr/local/php/ext"
拡張用のDLLが保存されているディレクトリです。

-554行目以下~
拡張機能を指定します。はじめは、全てコメントアウトになっていますので、必要な物の行のコメントを削除します。
 一例
 extension=php_gettext.dll
 extension=php_mbstring.dll

//***MySQLを使用する場合 [#e2c53825]
// extension=php_mysql.dll
//を指定している場合、Apacheの起動中にモジュールが見つからないというエラーが出ます。~
//とりあえずの対処として、phpのインストールディレクトリ'''例(c:\usr\local\php)'''にある''libmysql.dll''を、Apacheのインストールディレクトリ'''例(c:\usr\local\apache)'''にコピーすることで、回避できます。


*
他にもかなり細かく設定できますが、ここでは割愛します。

*IISの設定 [#ubf6cb08]
-拡張子''php''のファイルが開かれたときに、PHP経由で表示するように設定します。
#ref(http://home.exatto.org/image/server_iis_php/isapi_1.PNG)~
「追加」ボタンを押すと、下記のウィンドウが開きます。~
「フィルタ名」は''php''、「実行ファイル」はPHPをインストールしたフォルダにある'''php5isapi.dll'''を指定します。~
#ref(http://home.exatto.org/image/server_iis_php/isapi_2.PNG)~
~

-URLを指定されたときに、index.phpを優先的に検索するようにする。
#ref(http://home.exatto.org/image/server_iis_php/doc_1.PNG)
「追加」ボタンを押すと、下記のウィンドウが開きます。~
「規定のドキュメント名」には''index.php''を指定します。~
#ref(http://home.exatto.org/image/server_iis_php/doc_2.PNG)~
~

-拡張子マッピング
#ref(http://home.exatto.org/image/server_iis_php/dir_1.PNG)
「構成」ボタンを押し、「php」をダブルクリックします。~
下記の内容に従って指定します。~
#ref(http://home.exatto.org/image/server_iis_php/dir_2.PNG)~
~

*動作確認 [#zce3a1a0]
以上の指定が終わったら、iisを再起動して、エラーが出ないことを確認します。
(PCを再起動しても可)~
デフォルトでは、''c:\inetpub\wwwroot''が、Webのドキュメントルートになっていますので、適当なphpソースを置きます。~
''[例 index.php]''
 <?php
   phpinfo();
 ?>

ウェブブラウザからhttp://localhost/と入力し、PHPの設置情報が表示されれば、設定完了です。

*PEARを使いこなす [#l4adb593]:
**ベースシステムの準備 [#f6fd15dc]
PHPのインストールディレクトリ(C:\usr\local\php\)をエクスプローラ等で開きます。
以下のファイルを実行しますと、PEARのベースシステムがインストールされます。
 go-pear.bat
コマンドプロンプトが開き、対話型のプログラム(PHPで作られているようです)が実行されます。
すべてEnterキーを押してください。

**任意のパッケージをインストール [#ndf385f4]
コマンドプロンプトを開き、PHPのインストールディレクトリに移動します。~
以下のコマンドを実行します。
 C:\usr\local\php>php PEAR\pearcmd.php list
これは、現在インストールされているパッケージの一覧とバージョンが表示されます。~
続いて、以下のコマンドを実行します。
 C:\usr\local\php>php PEAR\pearcmd.php remote-list
Web上に公開されているパッケージの一覧とバージョンが表示されます。~
今回は、複雑な<TABLE>を使用するのに便利な"HTML_Table"をインストールします。
 C:\usr\local\php>php PEAR\pearcmd.php install HTML_Table
 downloading HTML_Table-1.5.tgz ...
 Starting to download HTML_Table-1.5.tgz (6,276 bytes)
 .....done: 6,276 bytes
 requires package `HTML_Common' >= 1.2
 HTML_Table: Dependencies failed

どうやら、"HTML_Table"は、"HTML_Common"というパッケージが必要なようですね。
 C:\usr\local\php>php PEAR\pearcmd.php install HTML_Common
 downloading HTML_Common-1.2.1.tgz ...
 Starting to download HTML_Common-1.2.1.tgz (3,637 bytes)
 ....done: 3,637 bytes
 install ok: HTML_Common 1.2.1
 C:\usr\local\php>php PEAR\pearcmd.php install HTML_Table
 downloading HTML_Table-1.5.tgz ...
 Starting to download HTML_Table-1.5.tgz (6,276 bytes)
 .....done: 6,276 bytes
 install ok: HTML_Table 1.5
以上でインストールは完了です。(Debian等のaptみたいな感じですね。でも、依存関係は解決してくれないらしい)

*参考 [#y2774ba5]
http://allabout.co.jp/career/database/closeup/CU20040928A/index.htm~
http://allabout.co.jp/career/database/closeup/CU20020928/index.htm~
http://www.1x1.jp/php/manual_pear/installation.html~

*独り言 [#odaec6b8]
さてさて、IISと聞いて、”不快”な感覚をお持ちの方は少なくないと思います。
セキュリティ・ホールの代名詞のように忌み嫌われ(?)ているようですが、
冷静に考えてみると、この世の多くのソフトウェアはパッチを当てる、或いはアップデートを行うなど、日頃からのメンテナンスが行われないと、セキュリティーホールだらけです。~
かくいう私も、外部公開用にはApacheを使用していますが、事実上のディファクト・スタンダードであるApacheもたまに爆弾のようなセキュリティ・ホールが見つかっています。~
どちらを使うにしろ、対外的なシステムを運用する場合は、セキュリティ情報をきちんと入手し、日々メンテナンスに心がけることが重要ですね。~
(最近私は、IIS+ASP.NETにはまり気味です。だって楽なんだもんorz)

[[家サーバ管理帳]]
トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS