タイトル

ここではCGIという物を説明します。
CGIとは、Common Gateway Interfaceの略で、直接サーバーで処理するプログラムのことです。
つまり、ローカル上で処理しなくても、サーバー上だけで処理できるので、 動的なページを作ることができます。
CGIを使った主なページは、チャットや掲示板などがそうです。
しかしセキュリティーの関係上、プロバイダがCGIを許可していない場合もあるので、 その場合は使えません。詳しいことはプロバイダに問い合わせてください。

では、実際にCGIを作ってみましょう。
はい、無理ですね。 素人が一朝一夕で作るのはできないです。 しかし、フリーのCGIを公開してくれるところがたくさんあるので、 それをダウンロードして使いましょう。

ここではKENT WEBさんの 「ASKA BBS」 を設置することにします。(当HPで使っている掲示板はKENTさんの「プチ・ボード」 ですが、設置の難易度が上がるため、入門編としてASKA BBSを設置することにします)
まず、上のリンクからKENTさんに行き、ASKA BBSをDLしてください。 DLして解凍をすると、aska.cgi(実行ファイル)、aska.log(ログファイル) 、jcode.pl(漢字コード変換ファイル)という三つのファイルが 現れます。 この三つのファイルをアップロードするわけですが、 いろいろやることがあります。

まず、CGIファイルをエディタ等で開いて、 一番上にあるパスを書き換えねばいけません。
これは、実際にサーバー側でCGIを処理する時の場所を指定するものですから、 この記述が間違っていると、当然CGIは動きません。 ほとんどは、「#!/usr/local/bin/perl 」という記述で動くとおもいますが、 一部のプロバイダでは、「#!/usr/bin/perl 」や「#!/usr/mesh/bin/perl 」等でないと 動かないところもあるので、プロバイダへ調べてください。

これが終わったらULするわけですが、この時も注意が必要です。 CGIファイルは、アスキーモードで上げなくてはいけません。
これは、改行コード(エンター(リターン)を押したときに記録されるコード) を変えるための作業です。 この改行コードは、OS毎に違い、WINでは「CR+LF」、Macでは「CR」、 UNIXでは「LF」というコードを使います。
ほとんどのサーバーでは、UNIXというOSを使用しているために、 UNIXで理解できる改行コードに変換して上げなければなりません。 そのためのモードがアスキーモードというわけです。
それに対して、生データを変換しないで送るモードのことを バイナリモードと言います。
実際にFTPでの転送のやり方は、

上のAというボタンを押して、アスキーモードにしてからULします。

この転送をするとき、プロバイダの中にはCGIを専用のフォルダに入れなければいけない 時もありますので、ここもプロバイダ確認しなければいけません。 ここでは仮にcgi-binというフォルダを作ってULすることにします。

さて、ここまでできたらもう少しです。 このままではまだCGIは使えません。 最後にパーミッションというものを変えなければいけません。 このパーミッションというのは、「属性値」のことで、 UNIXというOSは、元々複数の人が使うように設計されており、そのアクセス権を 決めるための作業がパーミッションを変えるということになります。

そのパーミッションの説明ですが、まず大きく分けて3つに分かれます。 「ユーザ」「グループ」「その他」で、ユーザーはファイルの所有者。 グループは同じアカウントの人。その他は、それ以外ということになります。
実際のディレクトリを見ると、「drwxr-xr-x」というような記号で表されています。 この意味を見ると、一番最初のdはファイルの種類です。 その次の三つ(rwx)がユーザのアクセス権。真ん中(r-x)がグループのアクセス権、 最後(r-x)がその他のアクセス権になります。
rが読む、wが書きこみ、xが実行という意味で、数字で示す場合は、 rが4、wが2、xが1で計算して、その数字を足した数がパーミッションという事になります。 この時最初のdは無視してください。
つまり、上の「drwxr-xr-x」だとすると、 ユーザはr(4)+w(2)+x(1)=7ということになります。
同じようにグループはr(4)+-(0)+x(1)=5ということになります。 最後のその他も同じですから、これを数字に直すと755ということになります。
これがパーミッションということになります。

このパーミッションの変え方ですが、UNIXでは「chmod」というコマンドを使うのですが、 FFFTPではもっと簡単に変えることができます。
まず、目的のファイルをクリックして(もちろんFTPに上げた奴です)、 コマンド−属性変更をクリックします。(ファイルを右クリックして属性変更でも可)

そうすると上記のようなウィンドウが出てきます。 ここで数字を入力してOKを押すだけで簡単に変えることができます。
ここで変える数字はaska.cgiが755、aska.logが666、jcode.plが755です。 ほとんどCGIは755で、LOGファイルが666ということを覚えておくと便利かも知れません。 間違っているかも知れませんが(笑)。
ほとんどはCGIをDLするところか、一緒にDLしたときに添付されるファイルで 説明されますので、そちらを参照してください。

そして、忘れてはいけないことは、ディレクトリのパーミッションを777にすることです。 これを忘れると、笑い者にされます(笑)。
いやいや、これを忘れてしまうとCGIが正常動作しません。注意です。

以上で講義は終わりますが、こんなんでわかったかなぁ・・?

前へ戻る 表紙に行く 次へ進む