できる?OSSのインストール(1)インストールマニアックス3のWebサーバーでPHPを動かしてみる

インストールマニアックス事務局です。
こんにちは。

無事Webサーバーも動作し、皆様はOSSのインストールにお励みのことかと思います。優勝するようなハイレベルな方はすでにいくつもインストールし報告されているでしょう。

ただ、参加者の方の中にはサーバーを初めて公開する方やOSSをインストールしたこともなく、Webサーバーは動いたけれど、まだOSSを動作させインターネットに1つも公開できないという人もいるかもしれません。

今日からこのブログではサーバーを公開できていない人が1つでもOSSをインストールできるよう、助けとなるような情報を少しずつ公開していくことにしたいと思います。
 
※ここで紹介している方法はあくまで一例です。これ以外にも違うやり方もありますし、これを参考にして正常動作しなかった場合でも事務局では責任を取りかねますので、あらかじめその点ご了承ください。
 
・Webサーバーを公開するには

現在、Windows Web Server 2008 R2をHyper-V Server 2008 R2上の仮想マシンで動作させ、その中でWebサーバー(IIS)を動作させていると前提で話を進めていきます。まだサーバーが動作していない人は以前のエントリをご参照ください。
 
さて、現在動かしているサーバーでOSSを動かしインターネットに公開するには今の環境に加え
 
1.OSSを動作させるための環境作成
2.プライベートIPアドレスグローバルIPアドレスの変換
 
が必要になりますが、まずはOSSを動作させるための環境を作成していきたいと思います。

基本的にOSSはそれ単体では動作せず、CGIASP、SSIなどと言われるそれを動かすための仕組みが必要です。使用するものはOSSによって違うので、ドキュメントを確認する必要があるのですが、ここでは、たくさんのツールで必要となるphpを動かしてみようかと思います。
これが動いているだけで、課題のOSSをいくつか動作させることができるようになるでしょう。
 
phpのダウンロードと設置

まずphpのサイトからをダウンロードします。

http://windows.php.net/download/

26日現在のバージョンは5.3.1です。

インストーラーだといろいろトラブルが出るという話があるのと、VC90版はサイドバイサイド構成が正しくない というエラーが出ましたのでVC6版のZIPにしました。

http://windows.php.net/downloads/releases/php-5.3.1-nts-Win32-VC6-x86.zip

ダウンロードしたファイルを任意のフォルダに解凍します。ここでは

C:\php

にしました。
 
次にPATHを通します。

「スタート」メニューの「コンピューター」
→「システムのプロパティ」
→「システムの詳細設定」
→「詳細設定」タブ
→「環境変数」ボタンをクリック。

環境変数ダイアログを開きます。

システム環境変数 「Path」

phpを置いたフォルダ(C:\php)を追加します。

 
次にphpを置いたフォルダ(C:\php)にあるphp.ini-productionというファイルを、同じフォルダにphp.iniという名でコピーします。

そして、php.iniファイルの内容に手を加えていきます。

; cgi.fix_pathinfo=1 の行の先頭にある「 ; 」 を削除
; fastcgi.impersonate = 1 の行の先頭にある「 ; 」 を削除
; cgi.force_redirect = 1; cgi.force_redirect = 0に変更して、行の先頭にある「 ; 」 を削除
; open_basedir の値を C:\inetpub\wwwroot とし、 の行の先頭にある「 ; 」 を削除
; extension_dir = "ext"の行の先頭にある「 ; 」 を削除

そして、ファイルの最後に

date.timezone = Asia/Tokyo
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8

extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_zip.dll
extension=php_bz2.dll

を追加します。

これで再起動すれば一応phpは動作する環境になっていると思います。

 
・Webサーバーの設定
次にWebサーバー側の設定です。IISからphpを使うにはのFastCGIという仕組みが用意されていますので、これを使うのが一番よさそうです。

サーバーマネージャから「役割サービスの追加」をクリックします

ウイザードが開始されますので、「アプリケーション開発」の中にある「CGI」を選択します。

インストールの内容確認画面です。「インストール」をクリックします。

これでFastCGIのインストールが終了しました。

 
次にハンドラーマッピングの設定に入ります。http://localhost/info.phpというページが呼ばれたときにphpを動かすと言うことですね。

「ハンドラーマッピング」をダブルクリックして設定画面を開きます。

「モジュールマップの追加」をクリックします。

「モジュールマップの追加」ダイアログです。図のように設定します。実行ファイルの場所は各自違うと思いますが、ここではC:\php以下にphpのファイルがあることにしています。

追加の確認画面です。「はい」をクリックします。

ハンドラーマッピングに「*.php」が追加されているのを確認します。追加されていれば設定は終了です。

 
・動作確認

phpの動作確認のためにIISのドキュメントルート(c:\inetpub\wwwroot)にtest.phpというファイルを作成し、中には
 
<?php phpinfo();?>
 
と一行書き込みます。

ブラウザーから

http://localhost/info.php

で確認すると、きちんと動作していればphpの動作環境が表示されていると思います。


 
これでphpのインストールは終了です。phpで動くOSSを課題から探してインストールしてみましょう。
 
・インストール例
PukiWikiをインストールしてみました。
PukiWikiphpだけで動作しますよ。ぜひインストールしてみてください。