※注意事項として
設定するときに ' や " や ; の記号を消したりダブらせたりしないように
記号 '(シングルクオート)" (ダブルクオート); (セミコロン). (ドット)等をまちがえないように
それから記号 # はむやみに追加したり消したりしない
(このcocoguest.cgiファイルの記述中で記号 # は意味があります)
■cocoguest.cgi をエディタで開き以下に列記している赤色の部分の設定をはじめます
- #!/usr/local/bin/perl
-
これはこのプログラムファイルがperlであることをサーバーに教える設定です
ほとんどのプロバイダは、このままでOKですが、Infowebのように
#!/usr/bin/perl のようなケースもあります
契約プロバイダの案内等で確認してプロバイダが指定するPerlへのパスに書き換えてください
変更する時には、この行部分の、頭の#(コメント)と!の印は残して下さい
サーバーはこれでCGIファイルであることを認識します
- require './jcode.pl';
-
- これはjcode.plを置く場所の設定です
相対パスで設定、cocoguest.cgiと同一ディレクトリに置く場合このままでOK
すでにあるものを利用する時は名前の大文字小文字に注意して、それに合わせて使う
相対パスとか、絶対パスとか、フルパス、ってなに?
え〜とcocoguest.cgiから見て
このCGIが使う画像や他のファイルの位置をサーバに教えてあげる方法です
教えてあげないと、サーバがそれを見つけることができないわけです
相対パスは「./XXX」とか「../XXX」のようにドット「.」とスラッシュ「/」で表わします
ドット一つ「./」は、そのファイルがcocoguest.cgiと同じディレクトリにあることを示します
パスをはぶいて単純にファイル名だけを書いても同じディレクトリにあることを示します
ドット二つ「../」は、そのファイルがcocoguest.cgiから見て、一つ上のディレクトリにあることを示します
「../../」と書くとそのファイルがcocoguest.cgiから見て、二つ上のディレクトリにあることを示します
フルパスは、下に出てくる「http://XXXXXXXX/~XXXXX/cgi-bin/cocoguest.cgi」のように「http://」から示すことです
絶対パスは、一番上のディレクトリから見た位置を示すことです
「/」から書きはじめ「/XXXXXXXX/XXXXXXXX/~XXXXX/cgi-bin/cocoguest.cgi」のように書きます
UUNIXにtelnetでログインした時によく使う、ファイルの位置を示す方法です
CGIのテストなどをするときに、必要になります
telnetでログインは、はじめての人はちょっと難しいかもしれないけど、勉強してね
- $logfile = './cocoguest.dat';
-
- ログ記録ファイルを置く場所の設定です
相対パスで設定、cocoguest.cgiと同一ディレクトリに置く場合このままでOK
他の人にこのログ記録ファイルを覗かれにくいようにする時は、「cocologT.dat」の名前を
「XXXX.dat」とか「XXXX.log」のように変えて下さい(XXXX部は任意の英数文字で書いて下さい)
その場合、サーバーに転送するファイルの名前も、その変えた名前に合わせて変えて下さい
- $CookieName = 'cocoguest1';
-
- クッキーの名前の設定
クッキーは、投稿する時にフームに記入する、名前、Eメールアドレス、ホームアドレス等を
ブラウザに記憶させておくことで投稿の度に書き込む手間をはぶくことができるものです
各自が使うブラウザの設定でクッキーを拒否する設定にすればこのクッキーは働きません
- $thisfile = 'http://XXXXXXXX/~XXXXX/cgi-bin/cocoguest.cgi';
-
- このcocoguest.cgiを置く場所の設定です
(相対パスもしくは、http://からフルパスでで設定)XXXXXXの部分に書き入れてください
- $back = 'http://XXXXXXXX/~XXXXX/index.html';
-
- ホームページへもどるためのURL設定
(ホームページ以外でも可)XXXXXXの部分に書き入れてください
- (ページの行き止まりを避けるためです)
- $body = '<BODY BACKGROUND=backGR.gif BGCOLOR=#FFFFFF TEXT=#000000
LINK=BLUE ALINK=#FFFFFF VLINK=BLUE>';
-
- ベースの文字色や背景色、壁紙などの設定
(初期値で、おまけ画像名と、各色記号を仮りに入れてあります)
- ここの赤色の部分を、HTMLの編集の 感覚でBACKGROUNDを外したり
BGCOLORなどを変えるといろんなベースパターンがつくれます
- $backART = 'backART1.gif';
-
- ホームページへもどるためのリンク用画像設定
(初期値で、おまけ画像名を仮りに入れてあります)好きなgifかjpg名をいれる
- $backART2 = 'backART2.gif';
-
- 投稿ページから閲覧ページへもどるためのリンク用画像設定
(初期値で、おまけ画像名を仮りに入れてあります)入れたいgifかjpg名をいれる
- $title = 'GUEST.BOOK';
-
- 掲示板のタイトル設定
(初期値で仮りに入れてあります)好きなタイトル名に変えて下さい
- $titleMOJI = '.';
-
- 掲示板のタイトル文字を画像にする時の画像設定
入れたいgif名かjpg名をいれる(入れてあるドット「.」は消して記入)
- $index = '<CENTER>
<TABLE BORDER=0 WIDTH="100%" CELLSPACING=1 CELLPADDING=0>
<TR><TD ALIGN=CENTER>
<FONT COLOR="SILVER" SIZE="6"><b>GUEST.BOOK</b></FONT>
<BR>
<FONT SIZE=2 COLOR=#5E5E5E>
this page is GUEST BOOK BOARD. <BR></FONT>
<FONT COLOR=red SIZE=2>Thank you !</FONT><BR>
</TD></TR></TABLE>
</CENTER>;
-
- タイトル部の添え文字と添え画像設定
(初期値で、おまけ画像名を仮りに入れてあります)
赤色のHTML部分をすべて削除して$index ='';にすると見えなくなります
またこれを使う時は、赤色のHTML部分を適宜書きかえて下さい
閲覧ページのテーブルを見えなくする
- (見える=on、見えない=off)
- $TITELETB = 'off';
- $M1TB_1 = 'off';
- $M1TB_2 = 'off';
- $M2TB_1 = 'on';
- $M2TB_2 = 'off';
-
- 閲覧ページのテーブルを見せるか、見せないかの設定
(初期値で仮りにそれぞれ入れてあります)
ちょっとややこしいですが、下のテーブル背景色と組み合わせるといろんなパターンが作れます
ここを「off」に設定すると
次のテーブル背景色設定に出てくる関連部分のテーブル背景色は見えなくなるようになります
$TITELETBは上のタイトル部の添え文字と添え画像部分のテーブルです
$M1TB_1と$$M1TB_2は、モード1の投稿記事部分のテーブルです
$M2TB_1と$$M2TB_2は、モード2の投稿記事部分のテーブルです
- 閲覧ページのテーブル背景色
- $TITELECOR = '#C3EE94';
- M1BGCOR_1 = '#FFFFFF';
- M1BGCOR_2 = '#FFF000';
- $M2BGCOR = '#FFFFFF';
-
(初期値で仮りにそれぞれ入れてあります)
$M1BGCOR_1と$M1BGCOR_2は、モード1の投稿記事部分のテーブル背景色です
$M2BGCORは、モード2の投稿記事部分のテーブル背景色です
- $HRART = '.';
-
- モード1の閲覧ページの各記事の間のHRラインを画像にする時の設定
- (入れたいgifかjpg名をいれる)(入れないとHRラインが表示されます)
- 選択icon画像リストの設定
(入れたいgif名かjpg名をXXXXの所にいれる)
- #icon画像リスト
- $anime1 = 'XXXX';
- $anime2 = 'XXXX';
- $anime3 = 'XXXX';
- $anime4 = 'XXXX';
- $anime5 = 'XXXX';
- $anime6 = 'XXXX';
- $anime7 = 'XXXX';
- $anime8 = 'XXXX';
- $anime9 = 'XXXX';
- $anime10 = 'XXXX';
- $anime11 = 'XXXX';
- $anime12 = 'XXXX';
- #もうひとつの選択icon画像リスト
- $anime13 = 'XXXX';
- $anime14 = 'XXXX';
- $anime15 = 'XXXX';
- $anime16 = 'XXXX';
- $anime17 = 'XXXX';
- $anime18 = 'XXXX';
- $anime19 = 'XXXX';
- $anime20 = 'XXXX';
- $anime21 = 'XXXX';
- $anime22 = 'XXXX';
- $anime23 = 'XXXX';
- $anime24 = 'XXXX';
-
- $method = 'POST';
-
- FORMの methodの形式設定
(POST/GET)、POSTがダメな時は GETに(現在、ほとんど、POSTでOKのはず)
POSTとGET、ってなに?
うん!少しむつかしいけど、
記帳された記事データーを、サーバーが起動させたCGIプログラムに送る時の方式の違いだよ
「GET」で送ると入力(記帳)されたデーターは、環境変数QUERY_STARINGに格納されて送られます
この方法だと、確保されるデータの文字列の長さに制限があるんだ
そこでたくさんのデータを安全に送る方法として、環境変数CONTENT_LENGTHに格納する「POST」を使います
掲示板みたいに大量のデータを扱う時は、「POST」を使い
少ない量のデータを扱う時は、「GET」を使うのが一般的なんだよ
また「GET」方式を使っての便利な使い方もあるんだよ
.......その方式の説明は、Perl等のプログラム作りの時の範囲だから別の機会にするね
- $max = 100;
-
- ログ記録ファイルに記録させる記帳の最大件数設定(あまり多くしない)
数字の設定は、クオート「'」ではさみませんので気をきかして記入しないように!
- この数値を越えると古い記帳から削除されます
- $M1limit = 5;
- $M1limit = 10;
-
- 1ページに表示する記帳の数設定
(あまり多くしない、閲覧ページは2つのパターンあります)
- $admin = 'abc123';
-
- 管理者(あなた)のパスワード設定
(英数字で) ※必ず変えて下さい(変えないと悪戯される可能性が大)
- $adminART = 'tororoSanime.gif';
-
- 管理ページに行くためのリンク用画像設定
(初期値でおまけ画像名を仮りに入れてあります)入れたいgif名かjpg名をいれる
ここまでが一般初期設定です..ここから下はオプション設定です..利用するときに設定してください
オプションの設定をしなくても、このCGIプログラムは動きます
そうなんだ!
でも、将来のためにオプションの設定の方法おしえてください!
わかったよ!
※ここは、メール通知機能を使う時に設定します(初期値は使えない設定にしてあります)
- $sendmailflag = 'false';
-
- メール通知機能の設定
- 投稿があるとあなた宛にメール通知してくれます
下のsendmailを使用できないプロバイダーの時は※必ず false にする
(sendmailを使用できない時は、残念ですがこのメール機能は使えません)
- $sendmail = '/usr/lib/sendmail';
-
- 契約プロバイダーでsendmailのある位置の設定
(わからない時はプロバイダーに聞く)
ほとんどこれでOKですが、まれにこのsendmailの位置がちがう場合もあります
このsendmailが使えないプロバイダーの時は、ここはこのままでOKですが
上の設定でfalse にすることを忘れると、メールがどこかに飛んでいくかもしれません
頭に「#」を付けて、#$sendmail = '/usr/lib/sendmail'; にするほうがベターです
頭に「#」をつけるとCGIはその部分を無視します
- $mailto = 'xxxxxx@xxxxx';
-
- あなたのメールアドレス設定です
これも上と同じくこのsendmailが使えないプロバイダーの時は、ここもこのままでOKですが
頭に「#」を付けて、#$mailto = 'xxxxxx@xxxxx'; にするほうがベターです
次はいたずら対応です!
※いたずらが、ひんぱんな時に利用してください(初期値は使えない設定にしてあります)
- $base_url = ".";
-
- 投稿場所の指定設定
- 他サイトのページからリンクされ、フォームを使って直接投稿される記事を拒否できます
- これを設定した場合、あなたも他のページからリンクし、フォームを使って直接投稿する記事も拒否されます
- すなわち、設置したこのcocoguest.cgi以外からの投稿ができなくなります
入れてあるドット「.」を消してこのcocoguest.cgi のURL設定(http://からフルパスで記入)
- @reject_ipaddr = ('xxxx.xxxx.xxxx');
-
- 指定したIPアドレスからの投稿を拒否設定
('')の中に投稿されたくない訪問者のIPアドレスを書く
('')の中に ('All');と書くと全てのホストからの投稿を拒否できます
読むだけで投稿が一切できないということです(あなたも含めて)
IPアドレスは管理ページに記録されています
いたずらするipが111.111.111.120としたら
('111.111.111.120','111.111.111.130');とすると
1111.111.111.120と111.111.111.130の2つのipを拒否します(拒否が足りない可能性があります)
('111.111.111');とすると
1111.111.111.0から111.111.111.255までの間すべてのipアドレスを拒否します(拒否しすぎる可能性があります)
- $reject_proxy = 0;
-
- プロクシ経由で来る訪問者の記帳を拒否設定
(一般の訪問者も拒否する可能性があります)
(拒否=1、拒否しない=0)
これで、すべての初期設定が終了です
なるほど!
メール通知機能は、メーラで確認すればブラウザを起動させて投稿があったか確認しなくてもよくて便利ですね
でも、たくさんの投稿があるとメールが山ほど届き、整理が大変だったり
プロバイダから契約時にアナウンスされたメールサーバの一人あたりの受付け許可容量がオーバーして
他のメールが消えたりメールサーバが受付けをできなくなったりして困ることがあるってことですね
それに、いたずら防止機能は、普通の人まで拒否してしまう可能性があるということですね
必要な時に使うことという意味がわかりました
そうです!
状況に応じて利用してください
ホームページにCGI等でいろんな機能を付けていくと、トラブルの可能性が高くなります
メンテナンスを怠らないようにすることが、メールの紛失や、記録ログの消滅などを防げるということですね
初期設定の次はサーバーへ転送ですね
続けて教えて下さい