TOPCGI> CGI 設置講座
Contents
CLOSE
LOCK
SECOND STEP  
.
関連項目⇒   
 大 前 提
はじめに言っておきますが、作者は素人です。コンピューター関連の学校に通っていたわけでもなく、そのような職に就いているわけでもません。 全くの素人です。 また読書が大嫌いなため、本などを読んで正しい知識を身に付けてもいません。ネットをしている中で学んだことを書いていますので用語とか正しくないかもしれません。でもなんとなく雰囲気は正しいと思いますんで・・・。間違っていたら教えてほしいくらいです。

私は素人です。


CGI の動作確認

CGI とは、普段作成しているHTMLのようにローカルでは表示確認することができません。
ちなみに、自宅のPCを「ローカルシステム」といい、モデムを使って電話線経由や、LAN(Local Area Network)で繋がったコンピュータを「リモートシステム」と言います。
CGI はFTPソフトなどを使用して、サーバーにファイルを転送して始めて動きます。FTPソフトとは、自宅のPCと、ISP(インターネットサービスプロバイダ)のコンピュータとの間で、ファイルの転送(コピー)などをするためのソフトのことです。HPを作成されている方であれば一度は使ったことがあるでしょう。
しかし、特別なソフトを導入することによって、ローカルでも動かすことはできます。httpdというソフト(フリーウェア)を導入すれば、LANにつながっているWindowsマシンからホームページを提供できるほか、SSI/CGIをローカルでテストすることができます。 また、ダイアルアップ接続でもホームページの発信が可能になります。

FTPソフトのダウンロード、解説 FFFTP Support Page
httpdのダウンロード、解説 AN HTTP Server Home Page

CGI は、HTMLファイルのようにローカルで表示したり、動作の確認をすることはできない
自分のPCを「ローカルシステム」、電話回線やLANで、繋がったコンピューターを
「リモートシステム」という。
ファイル転送するソフトを「FTPソフト」という。


ASCII (テキスト)モード と バイナリモード
FTPソフトでファイルを転送する際の形式です。ASCII(テキストモード)は、CGI ファイルなどの scriptを転送する際の形式です。 バイナリは、GIFやJPEG、MIDI などのファイルを転送する際の形式です。最初の頃はこれを知らずにファイル転送をしていて、設定が正しくされていても、動かないという人がいるかもしれません。これらを誤った方法でファイル転送すると、そのファイルは壊れてしまいます。

「CGI」ファイルをFTP転送する際は、「ASCII(テキスト)モード」で転送しなければならない。


 パーミッション(アクセス権)
ISPのコンピュータに転送されたファイルは、基本的に世界中の誰もが閲覧することが出来ます。しかし、掲示板やチャットなどといったCGI は見るだけではありません。書き込みや投稿するごとに新しい内容が表示されるわけですから、ある意味、あなたのHPの内容を他人が書き換えているということになります。ということは、何らかのプログラムが起動して、そしてどこかに書き込まれた内容を保存、または上書きしているということになります。TOPページやあなたが作成した他のページを他人にこのようにされたのでは困ってしまいます。そこで、プログラムを起動し、そして書き込まれた内容を保存し、そしてWEB上で閲覧ができるようにHTMLで書かれた文書として返すという作業をおこなうCGI に関してはHTMLとは異なった、ある特殊な設定をおこなうわけです。

通常のHTMLであれば、ただ閲覧のみを許可していればいいわけですが、CGI の場合、それに加えて、プログラムを実行する権利と、掲示板やチャットのログに書き込む権利を与えなくてはなりません。送信ボタンを押すと、CGI のプログラムを実行し、そしてログに書き込み、HTMLでかかれた文書として閲覧者に閲覧できるようにするわけです。
「CGI」は、「JAVA」や「JavaScript」などのプログラムのように閲覧者のローカルシステムで動いているのではありません。リモートシステムで動いているわけです。そこでリモートシステム上で、プログラムの実行、及び書き込みの権利を与えるために、その設定をおこないます。その設定がパーミッションです。パーミッションはFTPソフトで、変更することが出来ます。

「JAVA」や、「JavaScript」と異なり、「CGI」はリモートシステム上で動いている。
パーミッションの設定はFTPソフトでおこなうことができる。


 パーミッション(アクセス権)の設定
では、パーミッションの設定は実際にどうやるのでしょう。
まず、実行できる権利を「1」、書き込む権利を「2」、閲覧する権利を「4」という数字に置き換えて考えます。そして、閲覧する人を「作成者本人」、「グループ内の人」(同サーバ者)、「他人」に区別します。通常のHTMLの場合、作成者本人に書き込み権「2」と、閲覧権「4」を与え「6」とします。HTML文書は実行しなくていいわけです。グループ内の人もある意味他人です。ですから、与える権利は閲覧のみで「4」、そして全くの他人に対しても当然、閲覧のみで「4」とします。これを続けて、「644」というわけです。通常、サーバーにファイル転送した際、ファイルは全てこの「644」に設定されています。ディレクトリ(フォルダ)は通常「755」に設定されています。

ところが、CGI はプログラムです。CGI (プログラム)は実行させなくてはなりません。ですから、本人には実行権「1」、書き込み権「2」、閲覧権「4」の全ての権利を与えて「7」とし、「グループ内」を含む「他人」に関しては実行権「1」と閲覧権「4」のみを与えるわけです。つまり、パーミッションの設定は、本人「7」、グループ内「5」、他人「5」で、設定は「755」となります。

そして、通常、CGI プログラムが起動した際は、ログなどにあたるファイル(拡張子***.log、***.dat、***.txtなど)に、書き込まれた(書き変えられた)内容が保存されるようになっています。そこで、このログにあたるファイルに対しては、本人、他人全ての人に書き込み権「2」と、閲覧権「4」を与え、パーミッションの設定は「666」とするわけです。最近は、通常「755」とするパーミッションのの設定を「700」としているサーバーもあるようです(TOK2等)。この設定がわからない場合、サーバーの管理者に問い合わせるのが最も早いです。というより、サーバーのホームページに必ず載っています。

HTMLなどのパーミッションは通常「644」、CGI などのプログラムのパーミッションは通常「755」、
ログ等(***.log、***.dat、***.txtなど)のパーミッションは通常「666」とする。



履歴を一つ戻るこのページのTOPへ次へ進む

Copyright (C) 2001.2002 〜〜(m--)m. All Rights Reserved.