サーバー構築とOSSのインストール
IISでWebサイトを追加する ~Virtual Host設定
今回は前回に引き続き、IISのセットアップでつまずきそうな所を紹介していきます。
最初にWebサイトの追加について説明します。多くのWebサーバーは1つのサーバー上に複数のWebサイトを立ち上げられる機能を持っています。これはApacheでいう“バーチャルホスト”にあたります。
具体的には複数のドキュメントルート(「C:\inetpub\wwwroot\」のほかに「C:\inetpub\wwwroot2\」など)を用意しておき、ブラウザからアクセスした際のドメイン部分(例:「http://example.com/pukiwiki/」では「example.com」)の違いによって、どのドキュメントルートの内容を返すのか振り分ける機能です。
まずは、Webサイトを追加します。「IISマネージャ > コンピューター名」を右クリックし、「Webサイトの追加」をクリックします。この追加の画面ではサイト名、コンテンツディレクトリの物理パス(ドキュメントルート)、このサイトで受け付けるホスト名を記入します(例:test.example.com)。
ここでホスト名を入力しない場合はデフォルトのホストとして設定され、ブラウザからのアクセスがほかのサイトで設定されたホスト名とポート番号の組み合わせに該当しなければ、このデフォルトのホストがすべてを受け止める、という意味になります。
この設定はサイトが増えるとややこしくなってくるのですが、万が一ホスト名とポート番号の組み合わせが重複してしまうようなサイトを作ろうとしても、エラーメッセージが出ます。「Webサイトの追加」はそういったことを未然に防ぐことができます。
入力が完了し、OKをクリックするとIISマネージャのサイトツリーに作成したホスト名でサイトが作られます。新規作成したサイトは、IISマネージャから見るとアイコンが×印でステータスが不明となっていることがありますが、「サイト名」を右クリック「最新の情報に更新」とすることで×印は消えます。最後に、ブラウザから意図したとおりのサイトの振り分けができているか確認します。
PHPインストール(1)~インストールとphp.iniの編集
次に、PHPやPerlのオープンソースWebアプリケーションを動かすためのセットアップをしていきましょう。PHP、Perlの順に説明していきます。なお、多くのオープンソースWebアプリケーションではMySQLが必要になりますが、MySQLのインストール手順は次回で説明します。
PHPインストールの概要ですが、公式サイトからファイルをダウンロード、解凍した後はIISと関連付けるだけと、実に簡単です。
PHPの公式サイト(http://www.php.net)にアクセスし、画面右上の「Stable Release」からダウンロード画面に進み、「Non-thread-safe zip package」をダウンロードしてきます。執筆時(2009.06)ではVersion 5.2.10をダウンロードし、サーバー上に作成した「C:\php」フォルダ内に、解凍した「php-5.2.10-Win32」フォルダ内のすべてをコピーします。
続いて php.iniの設定です。php.iniはPHPの設定ファイルで、PHPのフォルダの中にあるphp.ini-recommendedを編集してphp.iniとして作成します。
次に、PHPの基本的な設定を行います。以下の変更を行ってください。
1)「;open_basedir =」という行があるので、行頭の「;」を外し、値として「"C:\inetpub\wwwroot;C:\php\session;C:\php\upload"」と入力する。
2)「extension_dir = "./"」という行があるので、値を「"./"」から「"./ext"」に変更する。
3)「;session.save_path = "/tmp"」という行があるので、行頭の「;」を外し、値を「"/tmp"」から「"C:\php\session"」に変更する(実際に「C:\php\session」というフォルダを作っておく)。
4)「;upload_tmp_dir =」という行があるので、行頭の「;」を外し、値に「”C:\php\upload”」と追加する(実際に「C:\php\upload」というフォルダを作っておく)。
続いてFastCGIのための設定を行います。以下のように変更しましょう。
5)「; fastcgi.impersonate = 1」という行があるので、行頭の「;」を外す
6)「; cgi.fix_pathinfo=1」という行があるので、行頭の「;」を外す
7)「; cgi.force_redirect = 1」という行があるので、行頭の「;」を外し、値を「0」にする
次にPHPからMySQLを利用するために以下の変更をします。
8)「;extension=php_mysql.dll」 という行があるので、行頭の「;」を外す
また、動作確認のためにはブラウザにエラーを表示させた方がいいので、以下の変更をします。
9)「display_errors = Off」という行があるので、「Off」を「On」に変更する
以上でphp.iniの設定は終了です。なお、この後のステップで行うIISとphpの関連付け以降にphp.iniを編集した場合は、アプリケーションプールのリサイクルをすることで、編集後のphp.iniを再度読み込みさせることができます。「IISマネージャ > コンピューター名 > アプリケーションプール」をクリックするとアプリケーションプールの一覧が表示されるので、phpと関連付けられたアプリケーションプール(標準では「DefaultAppPool」)をクリックし、操作パネルから「リサイクル」をクリックします。これでphp.iniが再読み込みされました。
この節の最後に、コマンドインタープリタからphpを実行できるようにPathの設定を行っておきましょう。「スタート > コンピューター」で右クリックし「プロパティ > システムの詳細設定 > 環境変数」で「システム環境変数」の「Path」を編集し「C:\php;」を変数値の先頭に追加します。