CGIについて


CGIにチャレンジしてみる

 CGIとは、ブラウザ上から要求に応じて、プログラムを実行させるための仕組み。・・・平たく言えば、掲示板やチャットなどを動かすプログラムです。
 これによって、カウンターの数字が動いたり、掲示板に文字を書き込めたり。


 初心者にとって、HPつくりの最初の大きな壁は、CGIの設置でしょう。
 サーバーによってはCGIは使えないところがありますから、駄目な場合は、レンタル掲示板やレンタルカウンターを利用するしか手はないです。
 設置の仕方がお手上げでも、借りることはできますから、絶対にその知識がないとダメということはありません。でも、借りるとどうしても自分の思うようなデザインではなかったり、使い辛かったりします。


 実は私、一之瀬も最初はてんでダメで、ラムクラさんのご好意に甘えて、彼に掲示板とカウンターを提供していただきました。今も使っている「一期一会掲示板」と「鎖骨FC掲示板」がそうなんです。今でも、ラムクラさんのサイトでお借りしております(他にも使わせていただいております。)


 でも、頑張って、自分でもCGIを設置できるようになりました。
 お恥ずかしながら、カウンター一つつけるのに、大騒ぎでした。
 成せば成る…夢中でやっていた最初の頃。
 初心者が成すためのアドバイスを少しだけ。



◇CGIスクリプトはできるだけ解説がきちんとなされているサイトからスクリプトを準備しましょう。
 作る側にとっても、CGIは結構大変なようです。複雑なプログラムですし、素人では最初から作るなんてことはできないので、フリーのスクリプトを配布提供してくださるサイトからダウンロードしてくるしかありません。
 数雑多な配布サイトがありますが、やっぱり「老舗」はあります。

 KENT WEB


 知らない方はいらっしゃらないほど有名なCGI配布サイトです。
 初心者にわかるように丁寧な設置方法の解説付きです。初心者でしたら、こういう、懇切丁寧な解説付きサイトからスクリプトを配布していただくことをお勧めいたします。
 ここのスクリプトをいくつか設置してみて(実験も含む)、だいたいの仕組みがわかってから複雑なものに取り組んでみられることをお勧めします。


◇まずは解凍ソフトを準備
 このようなCGIスクリプトは圧縮ファイルで配布されているのが普通ですから、そのファイルを解凍するためのソフトがパソコンに投入されているかどうか確認してくださいませ。
 解凍ソフトはいろいろありますが、私はLHASAという解凍ソフトを投入して使っています。これでしたらLZH形式、ZIP形式、両方を解凍できるから便利です。
 窓の杜
ここあたりから探してダウンロードしてくださいませ。その折は勿論、ちゃんと利用規約を読んで自己責任でどうぞ。








1、気に入ったCGIをダウンロードして入手する。


で、大切なことですが、ダウンロードしたソフトは念のため、解凍する前にウイルススキャンしてくださいね。稀にウイルスが含まれていることがあるそうです。自衛はきちんと。


2、解凍ソフトで開いて保存する。
 できればそれをいったん別のフォルダにコピーしてそれを作業台にすることをお勧めします。
 こうしておけば失敗してもすぐにやり直しがききますし、どうしても表示できない時にチェックして比べる対象にもなります。


4、テキストエディタでCGIファイルを開き、手順にそって、自分のサイト用に改造していく。
 私はテキスト(メモ帳)かワードパッドでCGIを開いて作業しています。
 その折に注意することは、保存する時は必ず「テキストドキュメント」で保存すること   です。拡張子はそのままCGIで。
 セキュリティーのため、できればファイル名は変えておいたほうが良いようです。

 
 また、必ず、サーバーのCGI利用に関する項目もチェックしておきましょう。
 pealの置き場、画像ファイルの置き場、CGIをアップするディレクトリ(例えば「cgi-bin」などという決まったフォルダーかどうか)。
 使えないCGIスクリプトもありますから(例えば「箱庭」や「アップローダー」と呼ばれているCGIは使えないところが多いです)それも含めて必ず事前に、サーバー規約、CGI使用については調べておきましょう。


5、FTPなどを使って、CGIをサイトへ転送(アップロード)する。
 この際に「アクセス権(パーミッション)」の変更を忘れずに! この数字の組み合わせによって、書き込みが可能になったり読み込みだけになったりするそうです。
 通常のHTMLファイルや画像ファイルは、アクセス権が「644」です。掲示板やカウンターは、それぞれのファイルにそれぞれ適したアクセス権へ変更しなければ動きません。何番にアクセス権を変更したらよいかは、サーバーによって若干違いますから、サーバーの案内ページへアクセスして、あらかじめ調べておいた方がいいようです。
 CGIが設置可能なサーバーなら、必ず、perlと転送先のフォルダー、アクセス権のことは書いてあると思います。


6、ブラウザに転送先のCGIのURLを直接叩いて、上手く表示されているか、動作するかなどをチェックする。できれば記事の削除チェックもお忘れなく。
 ブラウザを立ち上げてURLからでなければ正しく表示されないことがありますから。例えばビルダーなどのHPソフトの画面からだと、パソコン内のCGIのファイルしか見られないようですので、必ずチェックはネットへ繋いで直接やってくださいませ。


 上手く動かない場合や表示しない場合は、設置方法が間違っているかもしれません。
 素人がよくやる失敗について次にあげておきますので、チェックしてみてくださいね。


◆アップロード先のURLが正しくアドレス欄に打ち込まれていますか?
  案外、正しく打ち込めていない場合がありますから落ち着いて確認してみてくださいね。
◆CGIの一番上部にある「PEAL」がサーバーの提示しているものと一致していますか?
 #!/usr/bin/perl・・・
 この部分ですが、サーバーによって設定が変わります。
 サーバーのメインサイトに接続すると、PEAL置き場が書いてありますので、そこが一致しているかどうか必ずチェックしてくださいね。
◆サーバーが指定しているフォルダーへCGIを転送していますか?
 サーバーによってはCGIを転送するフォルダーが「cgi-bin」というように指定されている場合がありますから、その辺りをサーバーのCGI解説でチェックしてみてください。
◆アクセス権をサーバー指定にしてありますか?
 CGIファイルやLOGファイルなど単体のファイルはアクセス権を変更していても、たまに、上位のGCI全体を収監するフォルダーにもアクセス権を変更するように指定してあるサーバーもありますから、その辺りも含めてチェックしなおしてみましょう。
 また、サーバーによっては、独自なアクセス権を設定しているところもあるので、サーバーのサポートページなども一読しましょう。「ロリポップ」も通常のアクセス権ではないので、ちこっと苦労しました。
◆設定を変更した際に要らないものが入っていたり、色指定や戻りURLが半角でなく全角で入っていませんか?
 当然ですが、CGIファイルは記述部分に余分な文字がひとつでも入ってしまうと表示できなくなります。カスタマイズする時に失敗していないかどうか、カスタマイズ前の元になったファイルと見比べながらチェックしてみてください。
◆画像だけが現われない場合は、画像が置かれている場所がCGIの本体とずれていることがあるのでその辺りもチェックしてみてください。
またサーバーによっては、画像置き場をCGIと同じフォルダーにアップすることができない場合もあります。その辺りも含めてサーバーのCGIの項目についてチェックしておきましょう。


 その他はKENT WEBさんのWEB辺りできっちりと原因になることが書かれていますのでチェックしてみて頑張ってくださいね。
 カウンターは実際に運用しないと自分の画面ではエラーとなることもあるみたいです。
 設置できたら、友人など、自分と違う環境でネットに繋いでいる方に確認をしてもらうのも一つかと思います。


 無事にアップロードできたら、できればお借りしたスクリプトをダウンロードしたサイトさまへは「リンク集に掲載」して、御礼の気持ちにかえておかれると良いと思います。勿論、画像をお借りしたサイトさまも。



 また、CGIも、特に掲示板やチャットで使うときは、そのCGIスクリプトに「アクセス制限」の機能がついているかどうかを、チェックされることをお勧めします。
 アクセス制限の機能があると、「荒し」が来た時に、その方のIPを登録でき、相手に掲示板へ浸入できにくくすることができるからです。たいていはCGI本体にアクセス制限がくっついていて設定できるようになっていますから、ダウンロードしてからでもチェックしてみてくださいね。
 また、荒しさんのIPはログや日時と一緒にチェックして、保存しておくのも忘れずに。
 何かトラブルになったとき、サーバーへ証拠品として提出すれば、IPとアクセス時間から個人を特定できるそうです。掲示板犯罪はこれで特定して逮捕となるケースもあるそうです。

 また、荒らしさんが来たら、私はとっとと、スクリプトのフォルダー名を変え(URLを変えることになります)、自衛するようにしています。