メモ帳で作る超初心者のホームページ作成講
☆「CGI」とは何ぞや?

ここでは「CGI」について一般的な知識だけをごく簡単に学んでみましょう。
なお、管理人も決して完璧に理解できているわけではないのでごく一般的なことしかお伝えできません。さらに詳しくCGIを理解したい方は、「CGIとは」、「perlとは」などで検索してみてください。ここはあくまでも設置に関する説明、、ということでご理解ください。

CGIとは、「Common Gateway Interface」の略で、インターネット上で記録をやりとりできる仕組み。CGIを利用すると外部プログラム(ゲートウェイ)を起動し、処理結果をWebブラウザに送り返すことができます。
通常のホームページ(HTML文書のURL)では、ユーザーはサーバにHTML文書の閲覧を要求しサーバはそれをブラウザに表示するだけですが、ユーザーがCGIプログラムのURLを要求するとサーバはそれを認識し、実行し、その結果をブラウザに送信し表示させます。
例えば、掲示板ではCGIが書き込まれた内容をサーバに送り、サーバはその結果をブラウザに表示させます。

・HTML・・ブラウザ ⇒ サーバ ⇒ ブラウザ
・CGI ・・ ブラウザ ⇒ サーバ ⇒ CGIプログラム ⇒ サーバ ⇒ ブラウザ

・ユーザーが掲示板表示を要求>サーバが拡張子からCGIを認識し、CGIプログラムが要求を実行。実行した結果をサーバに返し、サーバはブラウザに掲示板を表示。
・ユーザーが書き込む>サーバが拡張子からCGIを認識し、CGIプログラムに渡す。CGIプログラムがログファイルに書き込む>ログファイルに書き込まれた内容をCGIプログラムがサーバに渡し、サーバはブラウザに表示させる。
、、、と、大雑把にこんな感じでしょうか、、、大雑把すぎる?

☆「CGI」で出来ること。

CGIプログラム(スクリプト)で掲示板のほかにも以下のようなことが出来ます。

  • カウンター
  • チャット
  • ショッピングカート
  • アクセス解析
  • メールフォーム
  • アンケート
  • 検索エンジン、、他
☆「CGI」を設置するには。

CGIは様々な環境が整っていないと設置することが出来ません。最低限必要な環境を調べてみましょう。

・CGI設置可能なサーバ
何はなくともまずサーバがCGIの設置を許可していないと設置することが出来ません。許可していない場合、諦める、サーバを換える、レンタルCGIを利用する、などの方法があります。プロバイダー提供のサーバや無料レンタルサーバではCGIを設置できないサーバが多いようです。また許可されているサーバでも個数制限されていたり、チャットは不可など、細かい制限のあるサーバもあります。事前によく調べておきましょう。
・CGIスクリプト
CGI本体です。ご自分で作成することも可能ですが、プログラミング言語「perl」の知識が必要だったりします。またネット上には有料・無料含め配布されてるサイト様が多数あります。検索などで調べてみましょう。
・FTPソフト
CGIをアップロードできるFTPソフトが必要です。WEBFTPではアップロードできないところもあるようです。事前に調べ必要なら準備しておきましょう。
・テキストエディタ
「メモ帳」でも大丈夫ですがスクリプトによっては数千行にも及んでメモ帳では開けないものもあります。また設定などの際、行数が表示されるテキストエディタを利用すると便利です。

以上環境、準備が整ったら下記より設置講座を覗いてみましょう。
実際の「設置練習用CGI」も配布していますので練習をしてみましょう。