ミケネコ研究所 / Perl / IIS セットアップガイド for WinXP

〜Windows XP でお手軽 CGI〜

IIS セットアップガイド for WinXP

Windows XP ユーザが、ローカル上で手軽に CGI/Perl を動かすまでのガイド。

Last modified: 2002/07/29

このページの目次


  1. はじめに
    1. この文書について
    2. 環境
    3. セキュリティ
  2. インストール
    1. IIS のインストール
    2. Active Perl のインストール
  3. IIS の設定
    1. IIS の動作確認
    2. ホームページのアップロード
    3. IIS スナップイン
    4. IIS の起動と停止
    5. ホーム ディレクトリを変更する
  4. CGI のセットアップ
    1. cgi-bin ディレクトリの作成
    2. 拡張子 .pl の CGI の実行
    3. 拡張子 .cgi の CGI の実行
    4. NTFS でのアクセス許可
  5. フリーの CGI 掲示板をインストールしてみよう

1. はじめに

1.1. この文書について

この文書の目的は、サーバ管理経験の無い方が、あなたの Windows XP/2000 に IIS を導入して、あなたのマシンでお手軽に CGI/Perl スクリプトの動作チェックが行えるようにすることです。IIS は、Windows XP/2000 に標準で付属する HTTP サーバです。

この文書は、UNIX などの他環境で既に CGI スクリプトを開発したことのある Windows XP ユーザを対象としています。

1.2. 環境

この文書を作成するときに用いた環境です。必ずしもこの環境でないといけないというわけではありません。

1.3. セキュリティ

この文書では、セキュリティに関する知識を何も提供しません。読者自身で習得することを期待しています。Web サーバである IIS をセットアップするのですから、Microsoft のサイト及びセキュリティーホールの報告サイトをまめにチェックすべきでしょう。また、IIS を必要のないときに「停止」しておくことを、強く推奨します。


2. インストール

2.1. IIS のインストール

IIS は標準ではインストールされません。管理者権限のあるユーザーで Windows XP にログオンし、Windows XP の CD を挿入して自動再生された画面の中から「Windows のオプションコンポーネントをインストールする」を選んでください(CD が自動再生されない場合は、CD-ROM の setup.exe を実行して、同様に進めてください)

ss1

Windows コンポーネントの追加画面になりますので、一覧から

インターネット インフォーメーション サービス (IIS)

を選んでインストールして下さい。IIS がインストールされます。

2.2. Active Perl のインストール

IIS のインストールが済んだら、次は CGI の実行に必要な Perl 言語をインストールします。次のサイトから、Windows 用の最新版の Perl をダウンロードして下さい。ActivePerl は、Windows 環境でもっとも広く用いられている Perl です。

http://www.activestate.com/Products/ActivePerl/Download.html

ダウンロードが済んだら、インストーラを実行して、インストールして下さい。インストール場所は適当でかまいません。セットアップオプションの選択を求められたら、デフォルトで全てチェックされていると思いますので、そのまま全てチェックしたままインストールして下さい。

さて、Active Perl のインストーラは Windows XP に対して、拡張子 .pl に勝手に関連付けを行ってしまいます。今後 .pl ファイルをダブルクリックすると、perl.exe に引き渡されて実行されるようになってしまいました。これが嫌な方は、拡張子 .pl にテキストエディタを割り当てるなりして戻してください。そのままでもかまいません。


3. IIS の設定

この章では、CGI の導入の前に、あらかじめ IIS の管理についての知識を学びます。

3.1. IIS の動作確認

さて、インストールが終わった時点で、すでに IIS が起動していると思いますので、ためしにブラウザから http://localhost/ にアクセスしてみましょう。

ss2

この画面は、すでにあなたの IIS が起動し、何らかの HTML を表示している証拠です。この画面の URL は http://localhost/localstart.asp となっていますが、実体のファイルは、C:\Inetpub\wwwroot\localstart.asp にあります (Windows XP が C ドライブにインストールされている場合)。

このように、

となっておりますので、C:\Inetpub\wwwroot ディレクトリに HTML ファイルをコピーしたり、ディレクトリを作成したりすることにより、直ちにホームページの公開ができるようになりました。

3.2. ホームページのアップロード

さて、適当な HTML を作成して、IIS 上にアップロードしてみましょう。アップロードといっても、C:\Inetpub\wwwroot ディレクトリに作成するだけです。ためしにメモ帳などのテキストエディタで、次の内容の HTML ファイルを作成します。

<HTML>
<BODY>

<H1>わたしのホームページへようこそ</H1>

<hr>

ここはテストページです。

</BODY>
</HTML>

このファイルを、C:\Inetpub\wwwroot\test.html に保存してみましょう。それから http://localhost/test.html へアクセスしてみると、見事このホームページが表示されるはずです。

ここで勘違いしやすいことがあります。次の、

この両者は、まったく同じ表示画面になると思いますが、前者は単にファイルを開いただけ、後者はブラウザーが IIS と通信を行った結果が表示されています。たんに test.html をダブルクリックしただけでは IIS は無関係なことを覚えて置いてください。

そしてもうひとつ重要なことがあります。あなたがインターネットに接続している間は、世界中の人が、http://(あなたがプロバイダより与えられたIPアドレス、またはホスト名)/ というアドレスで、IIS にアクセスすることができます。意識していないかもしれませんが、今の時点で test.html も全世界に公開しています。特に実験・練習用に IIS を導入する場合は、不要なときは IIS を停止しておくようにしましょう。次の項から、IIS サーバーの管理について学びます。

3.3. IIS スナップイン

IIS には、HTTP サーバの管理環境「IIS スナップイン」が付属しています。これからずっとお世話になるはずです。まずはこれを開きましょう。

  1. [スタート] メニューの [コントロール パネル] をクリックします。
  2. [管理ツール] を開きます。
  3. [インターネット インフォメーション サービス] を開きます。
ss3

ここで出てきた画面を「IIS スナップイン」と呼びます。画面のどこにもそんなことは書いていないのですが、IIS のドキュメントにはそう書いているので、私たちもそう呼ぶことにします。

3.4. IIS の起動と停止

IIS の起動と停止の操作を覚えます。IIS は必要の無いときには停止しておいたほうが安全です。

IIS スナップインを開き、左ツリー上の [既定の Web サイト] を右クリックすると、[開始] [停止] というメニューが並んでいますので、ここで IIS を起動したり、停止させたりします。停止すると、もはや http://localhost/ にアクセスしても何も出てこないことを確認して下さい。

3.5. ホーム ディレクトリを変更する

先ほども述べたように、

となってしまいましたが、これを変更することが可能です。

ss4

変更は、IIS スナップインを開き、左ツリー上の [既存の Web サイト] を右クリックし、[プロパティ] を選択し、[ホームディレクトリ] タブを選択する画面で設定します。

この画面中のローカルパスを変更することで、ホームディレクトリが変更されます。ここでは変更しないものとします。


4. CGI のセットアップ

ここまではうまくいったでしょうか? いよいよ、CGI スクリプトを動かすためのステップに入ります。

4.1. cgi-bin ディレクトリの作成

通常のコンテンツと CGI スクリプトはディレクトリを分けておいたほうが安全です。したがって、これから CGI スクリプトのためのディレクトリを作成しましょう。

ss5
  1. IIS スナップインを起動し、[既存の Web サイト] 上で右クリックします。
  2. 右クリックメニューから、[新規作成] をポイントし、[仮想ディレクトリ] をクリックします。
  3. 仮想ディレクトリの作成ウィザードに従って操作します。

作成ウィザードは、次の順序で問い合わせがあります。

エイリアス
CGI を利用するためのディレクトリ名です。http://localhost/(エイリアス)/ とアクセスすることになる名前です。なんでもかまいませんが、ここでは cgi-bin と設定することにします。
ディレクトリ
仮想ディレクトリの実体を置いておくパスです。ここでは、C:\Inetpub\cgi-bin を新たに作成し、このパスを設定します。
アクセス許可
[ 読み取り ] 許可と、[ CGI などを実行する ] 許可を与えておきます。

以上で cgi-bin ディレクトリが作成されました。

4.2. 拡張子 .pl の CGI の実行

さて、次の CGI スクリプト(テキストファイル)を作成し、C:\Inetpub\cgi-bin\env.pl として保存してみましょう。

#!/usr/local/bin/perl

print "Content-type: text/html\n\n";
print "<HTML><BODY>";

while (($v1, $v2) = each %ENV){
 print "$v1 = $v2<br>";
}
exit;

このスクリプトは環境変数を全て表示するスクリプトです。作成したら、http://localhost/cgi-bin/env.pl へアクセスしてみましょう。見事、結果が表示されるはずです。CGI の起動に成功しました!

4.3. 拡張子 .cgi の CGI の実行

先ほどの env.pl を env.cgi とリネームし、http://localhost/cgi-bin/env.cgi にアクセスしてみましょう。うまく動くでしょうか? 残念ながら「%1 is not a valid Win32 application. 」などのエラーメッセージが表示されてしまい、動かないと思います。これは、Perl のインストーラが 拡張子 .pl には関連付けを行ったのに、拡張子 .cgi には何もしてくれなかったのが原因です。

これでは不便なので、拡張子 .cgi にも IIS の関連付けを行いましょう。IIS スナップインから、cgi-bin 仮想ディレクトリのプロパティを表示させます。[仮想ディレクトリ] タブで表示される [構成] ボタンを押します。

ss6

すると、拡張子リストが出てくるでしょう。おそらく拡張子 .cgi は表示されていないはずなので、[追加] タブをクリックし、拡張子 .cgi を追加します。設定内容は、拡張子 .pl を参考に、まったく同様にして下さい。

設定がすんだら、もう一度 http://localhost/cgi-bin/env.cgi にアクセスしてみましょう。今度はうまく動くはずです。

4.4. NTFS でのアクセス許可

ハードディスクが NTFS でフォーマットされている場合、Unix 同様にファイルのアクセス許可(パーミッション)の設定が必要になることがあります。

たとえば、アクセスカウンターなどファイルの書き込みが必要になる CGI の場合、ログファイルに書き込み許可が与えられていないために、エラーが発生します。書き込みが必要なファイルには、Unix 同様に書き込み許可を与えましょう。

ss7

たとえば、log.txt に対して「書き込み」の権限を与えたい場合は、

  1. Explorer から log.txt の [プロパティ] をクリックします。
  2. [セキュリティ] タブを選択します。
  3. 一覧から [Users] を選択した後、[書き込み] の許可チェックボックスを ON にします。

これで、Users ユーザー( CGI スクリプト )が log.txt を書き込み可能になります。


5. フリーの CGI 掲示板をインストールしてみよう

次に、当研究所製の CommuniCa をインストールしてみましょう。 http://mikeneko.creator.club.ne.jp/~lab/cgi/communica/pub/から、最も新しいバージョンのアーカイブを入手し、解凍します。

とりあえず掲示板に必要なファイルは、次の5つです。

この5ファイルを、c:\Inetpub\cgi-bin\communica\ ディレクトリにコピーし、http://localhost/cgi-bin/communica/mikeboard1.cgi にアクセスしてみましょう。「談話室」と書かれた掲示板が表示されると思います。

HDD が NTFS でフォーマットされている場合、このままでは書き込み権限が無いために、掲示板に書き込みことができません。「4.4. NTFS でのアクセス許可」を参考にしながら、log.txt と color.txt に Users ユーザに対する「書き込み」アクセス許可を追加してください。これで掲示板へ投稿することができます。


このページについて


このページに書いてある情報の正しさを保証しません。この文章を読んだことで生じる責任は、読者自身にあるものとします。

このページはリンク自由です。必ずしもTOPへのリンクでなくてもいいですし、連絡も不要です。

You are th visitor since 2001/08/11. Thank you.

♪ ♪ 御意見帳フォーム ♪ ♪
このサイトのご意見をお聞かせください。匿名でも結構です。お気軽にどうぞ。

ボタンを押すと、ミケネコ研究所宛に投書したあと、自動的にこのページに戻ります。
(これは、メール送信ではありません。あなたのメールアドレスを必要としません。)

IIS セットアップガイド for WinXP http://mikeneko.creator.club.ne.jp/~lab/perl/iis/