まずCGIとは?

CGI (Common Gateway Interface) は、一言で言うとweb サーバの機能を補助する
プログラムのことです。
もともとは UNIX のweb サーバーで導入されたものです。

CGIを使ってできることは
アクセスカウンタ
チャット
掲示板
アンケートフォーム
アクセス制限
メールフォーム
クイズやゲーム
検索
など多岐にわたります。

CGIの仕組み

CGIを使っていない普通のホームページを閲覧するときは、
利用者のブラウザ(Internet Explorerなど)から「ホームページのデータを
送って欲しい!」という要求に対して
Webサーバが「了解しました。ではHTML(ホームページ用の言語)ファイルや
画像ファイルを送ります。」
と言ってブラウザにブラウザに送ってくれます。
一方、CGIを使ったホームページを見る場合。
ブラウザからの要求に対して、WebサーバがCGIプログラムを起動して、
その実行結果をブラウザに送ります。

CGIプログラムはWebサーバで動作可能でなくてはなりません。
WebサーバにはUNIXというネットワークに強いOSが使われているので、
UNIXによく使われる言語を用います。
その中でもCGIプログラムには「Perl」と呼ばれるプログラム言語によって書かれることが
多いです。

Perlの特徴
Perl(パール:Practical Extraction and Report Language)とは、1986年に
ラリー・ウォール氏(Larry Wall)によって開発されたプログラミング言語です。
以下のような特徴があります。

無料なので誰でも手軽に始められる。
・文字列処理に強いのでCGIに向いている。
・インタープリタ言語のためにコンパイルする必要がない。


話は少しそれますがプログラミング言語には、コンパイラ型とインタープリタ型があります。
コンピュータは電気信号によって動作しています。そのため、人の手によって書かれた
プログラムを理解する事が出来ません。そこで、プログラムを実行する前には、
アセンブルやコンパイルなどの処理によって、
コンピュータが実行可能な機械語に翻訳する必要があります。
アセンブルやコンパイルなどの作業は実行前にプログラム全てを一括で行わなけれ
ばなりませんが、この翻訳作業を同時通訳のようにプログラム実行時に処理ごとに行う
インタプリタ型言語もあります。
CGIで良く利用されるPerl言語は、このインタプリタ型言語でコンパイル
作業が不要になります。インタプリタ型言語はエラー箇所が分かりやすく扱いやすいのですが、
処理のたびに翻訳作業を行うため、動作が鈍くなります。

しかし、CGIを使うにはプログラミングの知識は必要ありません。
というのもインターネット上にはCGIスクリプトを無料で配布している
ところがたくさんあるからです。

CGIを動かすのに必要なPerlをセットアップします。
  ここではActivePerlというソフトを利用します。

参考ページ
Windows用CGI(Common Gateway Interface)設定方法の解説サイトリンク集-「鷹の巣」の自宅サーバー

http://sakaguch.com/LinkCGI.html

http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl
からダウンロードできます。

OSごとに必要なリンクが貼ってあります。MSIをクリックします。



保存」をクリックしてダウンロードを進めます。10Mほどあるファイルなのでやや時間がかかります。


ダウンロードが完了したら、「ファイルを開く」をクリックします。

するとインストーラが立ち上がります。

Next」をクリックします。


I accept the terms in the License Agreement」のラジオボタンを押して「Next」をクリックします。



インストールするフォルダを選びます。私はE:\Perlというフォルダを作ってそこにインストールします。

OK」をクリックします。


Next」をクリックします。


Next」をクリックします。


Next」をクリックします。


Install」をクリックします。


インスト−ルが始まります。


Finish」をクリックします。

これでインストール完了です。ここで必ずパソコンを再起動しておきましょう。

さて、ActivePerlの動作確認をします。スタート→すべてのプログラム→アクセサリ→コマンド プロンプト
を開きます。「perl -v」と入力してEnterを押します。



下のようにActivePerlのバージョン情報が表示されれば正常に動いています。


さて、私の場合だとPerl本体のパスは、「E:\Perl\bin\perl.exe」ということになります。
よってAN HTTPD の拡張子pl、.cgiの実行プログラムをPerlがインストールされたパス(E:\perl\bin\perl)に
設定します。
オプション/一般の一般タブのところで設定します。
.pl,.cgiのところを選択して編集をクリックします。


実行プログラムのところで「E:\perl\bin\perl」と入力して「OK」をクリックします。
実はデフォルトのままでもCGIは動作しますがトラブルを避けるためです。



適用」をクリックします。


OK」をクリックします。