初心者のCGI設置のサポートページ

初心者さんが自作CGIを設置したいときのサポートページです。とりあえず最初に読んで欲しいのはとほほのWWW入門さんのCGIのページです。ここのサイトは初心者さんから上級者まで、CGI以外の勉強に役立つのでブックマークしておくと良いと思います。なかなかこれだけのサイトは作れないので、基本はとほほさんにおまかせさせていただきます。
ここではKENT WEBさんの掲示板だけで設置の勉強解説させていただきます。MIYOKEN COMのCGIのオリジナル配布先のもので、設定項目が少ないことやMIYOKEN COMでは配布していないCGIがありますので使わさせていただきます。なお質問当はMIYOKEN COMのほうにお願いします。


サーバーを選ぶ
まずは設置したいサーバです。大手プロバイダの場合ではCGIと画像が別の場所に設置しなきゃいけなかったりとかで設置が難しいので、僕の経験から無料サーバーでCGI可能なところがあるので、そういうところで勉強してからが良いかもしれません。
http://www.kooss.com/hp/
ここに無料サイトとか載っているので探してみてはいかがでしょうか。また最近は広告のない有料サーバーもかなり安くなっています。

サーバーの設定を確認する
サーバーによって設定が違うこところはPERL のパスアクセス権、あとsendmail とかです。サポートのところのマニュアルやQ&Aを見て確認してくださいね。PERL のパスというのはCGIの一行目の#!/usr/local/bin/perlのところです。

最初は簡単なCGIから
最初から難しいCGIに手をつけるのでなく、簡単なCGIの設置から。KENT WEBさんのASKA BBSというのがおすすめです。
サーバーのパーミッションの説明で
CGIの実行ファイル 755
CGIのデータファイル 666
ディレクトリ 777
というのがありますが、ASKA BBSで見るとaska.cgiというのが実行ファイル、askalog.cgiというのがデータファイル、これらのCGIが入っているフォルダがディレクトリに当たります。jcode.plは転送するだけでパーミッションはいじらないでいいです。

PERL のパスだけ確認したら他はいじらないでアップロード
とりあえずダウンロードしたCGIはPERL のパスだけ合っているか見たらそのまま転送します。動作するのを確認したら設定項目を少し変えて転送して動作確認、少し変えて転送して動作確認としていけば、エラーが出たときもどこで間違ったかわかると思います。
ASKA BBSをクリアしたらプチ☆ボードかHoney Boardにチャレンジぐらいがいいかも。

データファイルはファイルサイズで確認
CGIによってデータファイルの形式が違い、テキストファイルもあればdatやcgiだったりしますが、エディターで開かなくてもファイルサイズが0kbや1kbのものはたいていデータファイルです。

画像が×印の時は右クリック
×印で画像が表示されないときは×印を右クリックしてプロパティを見ましょう。画像を設置した場所と設定した場所が違うと思いますので、プロパティのアドレスをよく見ましょう。

動作確認はチェックモード
動作してる掲示板のアドレスに?mode=checkというのを末尾につけて動作チェックをしましょう。
例 http://〜〜/honey/honey.cgi?mode=check
KENTさんの掲示板にはチェックモードがついているので確認してください。過去ログやロックファイル、カウンターの設定が合っているか確認できます。

lock機能とは
lock機能はサーバーによって違うので初期設定ではONになっていませんが、これはぜひ使いましょう。同時に複数の書き込みが合ったりしたときのエラー防止の機能で、設定しておかなかったばかりにログが消えてしまったということがあるので設定をおすすめします。
KENTさんのSymlink Checkerというのでチェックして設定してみてください。

画像アップロード掲示板の注意点
ここまでで問題なければYY-BOARDを試してみて、そして必要であればJoyful Noteの設定をしてみましょう。YY-BOARDに画像添付機能がついたのがJoyful Noteです。このCGIで特に難しいのがアップロードディレクトリ、137行目の$imgdir = './img/';のところです。
これはフルパスで指定しなくてはいけません。フルパスとはCGIから見た画像アップロード場所ということで、URLパスというのはhttp://から始まるものでそれとは違う設定になります。簡単なたとえで言うと隣の家を説明するのに、URLパスだと東京都練馬区なになにと住所を記入するのに、フルパスというのは「隣」と記入するするだけなのです。imgディレクトリをjoyful.cgiと同じ場所に設置するなら変更はいりませんが、違う場所に設置するときにフルパスがわからなかったらKENTさんのところのFullPath Viewerというのを使いましょう。このCGIをアップロードしたいディレクトリに入れて動作させるだけです。

アップロード先のディレクトリとcgi-lib.pl
アップロードにはcgi-lib.plが必要で転送し忘れないようにしてください。あと転送先のディレクトリのパーミッションを変更しておかないと転送できないのでちゅういしてください。

Joyful Noteが設置できるようならたいていのCGIは設置できると思います。ただKENTさんのCGIのアレンジ以外だと、チェックモードとか無かったりするのでちょっと悩むかもしれません。