サーバー構築 セキュリティ TCP/IP基礎 TIPS 書籍 ブログ

Web全体 サイト内検索

 ネットショップを利用する
SSL暗号化通信を理解しよう
ネット銀行口座を開設しよう
 インストールメモ
Perlのインストール(ActivePerl)
PHPのインストール/Webサーバー設定
MySQL4のインストール
phpMyAdminのインストール
Zend Optimizer のインストール
Movable Type のインストール
 Namazu全文検索の導入
Namazuのインストール
Namazuの設定
Namazuのカスタマイズ
NamazuをPHPで使う
 関連 DOWNLORD
ActivePerl
PHP
Zend(本家)
Zend(日本サイト)
MySQL
PostgreSQL
Cygwin
NAMAZU for Win32
PHP4 Namazu モジュール for Win32
phpMyAdmin
search-s for Namazu
KAKASI
 


PHPのインストール/Webサーバーの設定


以下の解説はApache1.3.x+PHP4.2.xを使用した場合の解説例です。

⇒最新記事:Apache2.0.45+PHP4.3.1




■PHPのダウンロード

PHPにはインストーラ版とISAPI版があり、ISAPI版においては拡張モジュールが付属しており、後から随時、動的にモジュールを追加することができるようになっています。インストーラ版には拡張モジュールが付属していないのでここではISAPI版を使用することにします。以下の本家PHPサイトより「Windows Binaries」の「PHP 4.2.2 zip package [5,275Kb]」(2002年7月23日付けで最新バージョン)というファイルをダウンロードしてきてください。

php-4.2.2-Win32.zip


■PHPのインストール

ダウンロードしてきた「php-4.2.2-Win32.zip」を適当なフォルダに解凍します。ここではシステムドライブ直下(c:\php)に展開して話を進めていきます。なお、解凍した際には「php-4.2.1-Win32」という名前のフォルダ名になってしまうので「php」とリネームしておいてください。



■dllファイルをシステムディレクトリにコピーする

次に「c:\php」に格納されているphp4ts.dllと「c:\php\dlls」に格納されているdllファイル全てをシステムディレクトリにコピーします。システムディレクトリとはWindows 9x/MEの場合は「c:\windows\system」、Windows NT/2000の場合は「c:\winnt\system32」、Windows XPの場合は「c:\windows\system32」です。


■php.iniのコピーと設定変更

「c:\php」に格納されている「php.ini-dist」をコピー(複製)して「php.ini」というファイル名にリネームします。コピーした「php.ini」をWindows 9x/ME/XPの場合は「c:\windows」、NT/2000では「c:\winnt」または「c:\winnt40」に移動させます。コピーし終えたら、「php.ini」を開いて編集していきます。編集箇所は以下のとおりです。なお、「php.ini」を編集したら必ずApacheを再起動させてください。


 doc_root = "c:/www/public_html"

Webサーバで設定したドキュメントルートを指定します。Apacheをデフォルトでインストールした場合は「C:/Program Files/Apache Group/Apache/htdocs」です。ここでは「c:\www\public_html」としています。

 extension_dir = "c:/php/extensions/"

拡張モジュール(php_*.dll)の格納されているフォルダを指定します。Cドライブ直下にインストールした場合は「c:/php/extensions」になります。この指定は拡張モジュールを使用する場合には必須となります。

 include_path = ".;c:\php\include;c:\php\pear"

行頭のセミコロン(; )を削除し、上記のようなパスを指定しておきます。ここでは、各ソースからインクルードするファイルの検索先を指定しています。「jcode.phps」などをインクルードする際には「c:\php\include」から、Pear(PHP Extension and Application Repository)をインクルードする際は「c:\php\pear」からファイルを読み込むようになります。なお、インクルードパスはUNIX用とWindows用のふたつが用意されているので、Windows用の方に記述してください。







それではPHPとApacheの関連付けを行うために「httpd.conf」を編集していきます。PHPを使用する設定を行う手順にはいくつかあり、基本的にはCGIバイナリ(CGI実行版)として使用する場合と、ISAPIモジュールを使用する2通りの方法があります。両者の違いは「install.txt」によるとSAPIモジュールはパフォーマンス面では優れていますがまだ製品品質レベルの段階にはなく、Windows2000以前のプラットフォームでは重要な問題が発生するようです。また、Internet Server Errorになりやすくなる可能性も含んでおり、いくつかのバグも確認されているようです。パフォーマンスよりも安定性を選ぶのであれば、CGIバイナリとして実行することをお勧めします。ただし、CGIインタープリタとして使用した場合は、他の言語で作成したCGIと同様に、パフォーマンスはかなり低下します。逆に、SAPI版ではWebサーバーのモジュールとして組み込んでいるため、負荷も大幅に小さくなり、高速にスクリプトが実行されます。

◎Install.txtの抜粋
PHP 4 for Windows comes in two flavours - a CGI executable (php.exe),
and several SAPI modules (for exapmle php4isapi.dll). The latter form
is new to PHP 4, and provides significantly improved performance and
some new functionality. However, please note that the SAPI modules
are *NOT* yet considered to be production quality.
In particular, with the ISAPI module, you are likely to encounter serious
reliability problems especially on platforms older than W2K - you may
witness a lot of server 500 errors and suffer from other server modules
such as ASP also failing. You have been warned!

◎結論
In short - your mileage may vary; If you need
absolute stability, trade the performance of the SAPI modules
with the stability of the CGI executable.


以下はそれぞれの手順に従って「httpd.conf」の編集箇所を記述しています。

■PHPをCGIバイナリとして使用する場合

 ScriptAlias /php/ "c:/php/"

上記の文を「httpd.conf」に追記します。各自、PHPをインストールしたドライブを指定してください。

 AddType application/x-httpd-php .php .phtml

上記の文を「httpd.conf」に追記します。拡張子「php」の関連付けを行うディレクティブです。

 Action application/x-httpd-php "/php/php.exe"

上記の文を「httpd.conf」に追記します。この指定では、「php.exe」が「c:\php」の直下にあることをApacheに伝えています。


以上、記述し終わったらApacheを再起動してください。


■PHPをApacheのモジュールとして使用する場合

 LoadModule php4_module c:/php/sapi/php4apache.dll

上記の文を「httpd.conf」に追記します。パスは「php4apache.dll」が格納されている場所を正確に指定してください。

 AddModule mod_php4.c

Windows版Apache1.3.22では、デフォルトの配布ファイル「httpd.conf-dist-win」にClearModuleList ディレクティヴが含まれています。このファイルを使用する時は、ファイル内に上記の一文を追記しないと、PHPがApacheのモジュールとして登録されないので注意してください。

 AddType application/x-httpd-php .php .phtml
 AddType application/x-httpd-php-source .phps

上記の文を「httpd.conf」に追記します。1行目は拡張子「php」の関連付けを行うディレクティブです。2行目は「ソースコードハイライト機能」を使用する場合に加えてください。「ソースコードハイライト機能」を使用しない場合はコメントアウトしても構いません。なお、この機能はSAPIモジュールとして組み込んでPHPを使用する場合にのみ有効で、CGIバイナリでは機能しません。CGIバイナリでこの機能を使用したい場合は以下を参考にしてください。

Note, this will only work when you install php as a sapi module.
If you wish to use this feature with the cgi binary, create a new
file, and use the show_source("path/to/original_file.php"); function.







■PHPをCGIバイナリとして使用する場合

「拡張子」に「.php,.php3,.phtml」、実行プログラムに「c:\php\php.exe」を入力します。CGI実行版として使用する場合には「PATH TRANSLATEDを使う」にチェックを入れてください。



PHP 4.1.2 以降のバージョンにおいて「php.exe」を使用する場合、AN HTTPDだと以下のようなセキュリティ警告のメッセージが表示されます。この場合は、「php.ini」の「cgi.force_redirect」の部分を編集する必要があります。「php.ini」を開いて以下の部分を編集してください。

 cgi.force_redirect = 0

デフォルトでは「;cgi.force_redirect = 1」となっています。「;」を削除して値を「1」から「0」に変更してください。



◎セキュリティ警告
Security Alert! The PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.

For more information as to why this behaviour exists, see the manual page for CGI security.

For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page.


◎install.txt
if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
(iPlanet) web servers, you MAY need to set an environment variable name that PHP
will look for to know it is OK to continue execution. Setting this variable MAY
cause security issues, KNOW WHAT YOU ARE DOING FIRST.

if you are unsure, set cgi.force_redirect to 1, and see if your scripts execute.




■PHPをApacheのモジュールとして使用する場合

「拡張子」に「.php,.php3,.phtml」、実行プログラムに「c:\php\sapi\php4isapi.dll」を入力します。








最後にPHPが正常に動作しているかどうかをブラウザで確認します。メモ帳で <?php phpinfo();?> を記述し、「test.php」という名前でドキュメントルート(例:C:/Program Files/Apache Group/Apache/htdocs)に保存してください。保存し終えたら、ブラウザでアクセスしてみます(例:http://127.0.0.1/test.php)。以下のような画面が表示されれば正常にPHPが動作していることを確認することができます。なお、PHPスクリプトによっては(古いスクリプトなど)フォームから入力した文字列の受け渡しが正しく処理されないことがあるのでその場合は、ソースを変更するようにしてください。

 <?php phpinfo();?>





 

Copyrights©KORO 2002-08 All Rights Reserved.Since 02/08/15 | サイトのプライバシーポリシー