#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)
[[家サーバ管理帳]]