cocobbs.ver 1.02.GUIDE

genkidasite.ikou.nippondanji.de.ikou.
samurai.de.ikou....!
this page is Coco.BBS.BOARD.
Thank you !
day by day
< home | My CGI.information >

目次
(※NSナビゲータ利用の時、クリックすると項目に飛びます!)
1・プロローグとサンプル
2・プログラムを取得
3・プログラムの初期設定
4・ファイルをそろえて転送

last update at Tuesday 2000.01.04 JST cocobbs.ver 1.02
1・プロローグとサンプル


はじめまして、僕は夢河童です
このcocobbs.ver 1.02の説明をします



  • サンプルは次の所にありますマウスでクリックでページに行けます
  • テストをどうぞ(いたずらテストはご遠慮ください)



  • このCGI、cocobbs.ver 1.02の特徴には
    次のようなものがあります

     

    1. この掲示板は、記帳された方と返信のやりとりができます
    2. お休みモードを設定すると「お休みページ」を表示し、このBBSを一時休むことができます
    3. 返信休止モードを設定して返信受け付けを一時休むことができます
    4. 返信休止モードを設定して新規投稿のみを受け付けることができます
    5. 記帳する時にイメージ画像を投稿することを許可できます
    6. アイコンモードの設定でアイコン有、無しの記帳が選べます
    7. 文字色を選択して記帳できます
    8. 記事閲覧ページには、2つのモードがあり、好きなモードで見れます
    9. 投稿記事、返信記事がされた時に、その記事を常に最上部に表示できます
    10. タイトル文字をテキスト文字か、画像にするかアレンジできます
    11. テーブルを見えなくしたり、テーブル壁紙色をアレンジできます
    12. 各記事の境界のHRを、画像に簡単にアレンジできます
    13. 記事書き込み部でのURL記入でリンク機能が付きます(urlとmailとftpが可能)
    14. 投稿記事を管理者に自動でメール通知させることができます
    15. 記帳された人のIPアドレスを記録します
    16. いたずらに対して数種類の拒否設定ができます
    17. 管理者は、投稿記事を選択して削除ができます  


    補足:閲覧ページには、アイコン付き表示モード、文字表示モードの2つのモードがあります
    モード1は、アイコン付きの投稿記事表示とした時、記事の表示がどうしても重くなります
    その為、モード2は、文字による投稿記事表示として軽くし、一度に多く見やすいようにしています





目次(クリックすると項目に飛びます!)
1・プロローグとサンプル
2・プログラムを取得
3・プログラムの初期設定
4・ファイルをそろえて転送

重要項目
2・プログラムを取得


  • このCGIプログラムは、次のところに置いてあるのでダウンロードして利用することができます
    ダウンロードは、使用規定に同意することが条件になっています次の使用規定のページを一読して下さい



  • lzh形式で圧縮されたファイルをダウンロードします
    ダウンロードされた時は、使用規定に同意したものと見ます

  • ダウンロード後、解凍すると次に示すファイルが展開されます
    ※ダウンロードされたファイルが、down.cgiとなっている場合は拡張子をdown.lzhとすれば解凍できます
    (WinはLhasa等、MacであればMacLHA で解凍できます)
  • 編集の都合でファイル名の大文字、小文字が異なっている場合があります
  • (MACとWinを使って編集しています)
  • その場合、CGIプログラム中で設定しているフィァイル名と合わせて下さい

    JCODE.pl------------(日本語コード変換ライブラリ)
    cocobbs.cgi-------(CGIプログラム)
    cocobbs.dat-------(ログ記録ファイル)

    おまけの画像(標準画像ファイル)
    DECO.gif---------(タイトル部の添え画像)
    BACKGR.gif-------(バックの壁紙画像)
    ADMIN.gif--------(管理ページに行くためのリンク用画像)

  • その他、記事投稿時選択用・アイコンが、12個必要になりますご自分で好きなものを用意して下さい
    夢風庵の素材コーナーにあるものを利用することもできます

    顔アイコン1
    顔アイコン2




目次(クリックすると項目に飛びます!)
1・プロローグとサンプル
2・プログラムを取得
3・プログラムの初期設定
4・ファイルをそろえて転送

重要項目
3・プログラムの初期設定


  • 契約プロバイダに合わせてCGIプログラムの初期設定を設定します
    プログラムの初期設定についての関連詳細説明はcocoguestGUIDE.html の初期設定を参照して下さい
    初期設定(あなたの環境にあわせて必ず設定する項目)と書いてある部分を設定します



  • 相対パス、絶対パスについても分からない時は cocoguestGUIDE.html の初期設定を参照して下さい



  • ※注意事項として
    設定するときに ' " ; の記号を消したりダブらせたりしないように
    記号 '(シングルクオート)" (ダブルクオート); (セミコロン). (ドット)等をまちがえないように
    それから記号 # はむやみに追加したり消したりしない
    (このcocogbbs.cgiファイルの記述中で記号 # は意味があります)

    cocobbs.cgi をエディタで開いて下に列記している赤色の部分の設定をはじめます

    #1行目
    これはこのプログラムファイルがperlであることをサーバーに教える設定です
    ほとんどのプロバイダは、このままでOKですが、Infowebのように#!/usr/bin/perl のようなケースもあります
    契約プロバイダの案内等で確認してプロバイダが指定するPerlへのパスに書き換えてください
    変更する時には、この行部分の、頭の#(コメント)と!の印は残して下さい
    サーバーはこれでCGIファイルであることを認識します
     #!/usr/local/bin/perl

    #43行目
    これはJCODE.plを置く場所の設定です
    相対パスで設定、cocobbs.cgiと同一ディレクトリに置く場合このままでOK
    すでにあるものを利用する時は名前の大文字、小文字をそれに合わせる
     require './JCODE.pl';

    #47行目
    ログ記録ファイルを置く場所の設定です
    相対パスで設定、cocobbs.cgiと同一ディレクトリに置く場合このままでOK
    他の人にこのログ記録ファイルを覗かれにくいようにする時は、「cocobbs.dat」の名前を
    「XXXX.dat」とか「XXXX.log」のように変えて下さい(XXXX部は任意の英数文字で書いて下さい)
    その場合、サーバーに転送するファイルの名前も、その変えた名前に合わせて変えて下さい
     $logfile = './cocobbs.dat';

    #51行目
    クッキーの名前の設定
    (この掲示板を二つ以上設けるときは、それぞれ変える必要あり)
    ひとつだけ設置する時は、このままでOK
     $CookieName = 'cocobbsA';

    #55行目
    このcocobbs.cgiを置く場所の設定です
    (相対パスもしくは、http://からフルパスでで設定)
     $thisfile = 'http://XXXXXXXX/~XXXXX/cgi-bin/cocobbs.cgi';

    #59行目
    あなたのホームページへもどるためのURL設定
     $back = 'http://XXXXXXXX/~XXXXX/index.html';

    #63行目
    ベースの文字色や背景色、壁紙などの設定
    (初期値で、おまけ画像名と、各色記号を仮りに入れてあります)
    ここの赤色の部分を、HTMLの編集の 感覚でBACKGROUNDを外したり
    BGCOLORなどを変えるといろんなベースパターンがつくれます
     $body = '<BODY BACKGROUND=BACKGR.gif BGCOLOR=#F3F3F3 TEXT=#000000
    LINK=#574FF3 ALINK=#ffffff VLINK=#574FF3>';

    #67行目
    掲示板のタイトル文字設定
    (初期値で仮りに入れてあります)好きなタイトル名に変えて下さい
     $title = 'Coco.BBS.BOARD';

    #71行目
    掲示板のタイトル文字の大きさ設定
    (初期値で仮りに入れてあります)好きな大きさサイズに変えて下さい
     $title_size = 6;

    #75行目
    掲示板のタイトル文字の色設定
    (初期値で仮りに入れてあります)好きな色番号に変えて下さい
     $title_COLOR = '#574FF3';

    #80行目
    掲示板のタイトル文字を画像にする時の画像設定
    入れたいgif名かjpg名をいれる((入れてあるドット「.」は消して記入))
     $titleMOJI = '.';

    #85行目
    タイトル部の添え文字と添え画像設定
    (初期値で、おまけ画像名を仮りに入れてあります)
    赤色のHTML部分をすべて削除して$index ='';にすると見えなくなります
    またこれを使う時は、赤色のHTML部分を適宜書きかえて下さい

     $index = '<CENTER>
    <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
    <TR><TD><FONT SIZE=1 FACE=Arial,Helvetica COLOR=#5E5E5E>
    genkidasite.ikou.nippondanji.de.ikou.<BR>samurai.de.ikou....!<BR>
    this page is Coco.BBS.BOARD. <BR></FONT>
    <FONT COLOR=red SIZE=2 FACE=Arial,Helvetica>Thank you !</FONT><BR>
    <FONT SIZE=4 FACE=Arial,Helvetica COLOR=#FFFFFF><B>day by day</B></FONT>
    </TD><TD><IMG SRC=DECO.gif ALT=画像>
    </TD></TR></TABLE>
    </CENTER>
    ;

    #99行目
    閲覧ページのテーブルを見せるか、見せないかの設定
    (初期値で仮りにそれぞれ入れてあります)
    ちょっとややこしいですが、下のテーブル背景色と組み合わせるといろんなパターンが作れます
    ここを「off」に設定すると
    次のテーブル背景色設定に出てくる関連部分のテーブル背景色は見えなくなるようになります

    $BORDERtitleは上のタイトル部の添え文字と添え画像部分のテーブルです
    $BORDER1と$BORDER2は、モード1の投稿記事部分のテーブルです
    $BORDER3と$BORDER4は、モード2の投稿記事部分のテーブルです

    (見える=on、見えない=off)
     $BORDERtitle = 'off';
     $BORDER1 = 'on';
     $BORDER2 = 'off';
     $BORDER3 = 'on';
     $BORDER4 = 'off';

    #107行目
    閲覧ページのテーブル背景色の設定
    (初期値で仮りにそれぞれ入れてあります)
    $BGCOLOR_1と$BGCOLOR_2は、モード1の投稿記事部分のテーブル背景色です
    $BGCOLOR_3と$BGCOLOR_4は、モード2の投稿記事部分のテーブル背景色です

    (カラー番号を入れて下さい)
     $BGCOLOR_1 = '#FFFFFF';
     $BGCOLOR_2 = '#F3F3F3';
     $BGCOLOR_3 = '#F3F3F3';
     $BGCOLOR_4 = '#FFFFFF';

    #115行目
    モード1の閲覧ページの各記事の間のHRラインを画像にする時の設定
    (入れたいgifかjpg名をいれる)

     $HRART = '.';

    #121行目
    選択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';

    #137行目
    FORMの methodの形式設定
    (POST/GET)、POSTがダメな時は GETに(現在、ほとんど、POSTでOKのはず)
     $method = 'POST';

    #142行目
    ログ記録ファイルに記録させる記帳の最大件数設定(あまり多くしない)
    数字の設定は、クオート「'」ではさみませんので気をきかして記入しないように!
    この数値を越えると古い記帳から削除されます
     $max = 50;

    #146行目
    お休みモード設定 (0=開く 1=お休み)
    1に設定し、お休みモードにすると「お休みページ」を表示して
    cococbbsの閲覧、投稿受け付けを一時休むことができます
     $Oyasumimode = 0;

    #150行目
    返信機能付きモード設定 (0=なし 1=返信機能あり)
    0に設定し返信機能なしにすると返信受け付けを、一時休むことができます
    その場合新規投稿受け付けのみになり、今までの返信記事も表示されません
     $Remode = 1;

    #154行目
    移動モード設定 (0=no 1=yes)
    記事に返信がつくと最上部へ移動します
    0に設定にすると移動しません
     $move = 1;

    #158行目
    アイコンモードモード設定 (0=使わない 1=使う)
    0に設定にするとアイコンを表示しません
     $iconmode = 1;

    #162行目
    イメージ画像投稿モード設定 (0=no 1=yes)
    1に設定にすると記事にイメージ画像を投稿することを許可
    記事投稿フームに記入覧が現れます
     $imgmode = 0;

    #166行目
    1ページに表示する記帳の数設定
    (あまり多くしない、閲覧ページは2つのパターンあります)
     $M1limit = 3;
     $M2limit = 5;

    #171行目
    1回に記帳できるコメントの文字の数(英数字換算)(あまり多くしない)
     $commentMAX = 3000;

    #176行目
    管理者(あなた)のパスワード設定
    (英数字で) ※必ず変えて下さい(変えないと悪戯される可能性が大)
     $pass = 'abc123';

    #181行目
    管理ページに行くためのリンク用画像設定
    (初期値でおまけ画像名を仮りに入れてあります)(入れたいgif名かjpg名をいれる)
     $adminART = 'ADMIN.gif';

    #184行目
    あなたのメールアドレス設定です
     $mailto = 'xxxxxx@xxxxx';

    #190行目
    ロックファイル名です
    自動的に作られるので、このままなにもさわらずにいてください
     $lockfile = 'coco.lock';


  • ここまでが一般初期設定です..ここから下はオプション設定です..利用するときに設定してください
    オプションの設定をしなくても、このCGIプログラムは動きます



    #199行目
    メール通知機能の設定
    投稿があるとあなた宛にメール通知してくれます
    下のsendmailを使用できないプロバイダーの時は※必ず false にする
    (sendmailを使用できない時は、残念ですがこのメール機能は使えません)

     $sendmailflag = 'false';

    #203行目
    契約プロバイダーでsendmailのある位置の設定
    (わからない時はプロバイダーに聞く)
    ほとんどこれでOKですが、まれにこのsendmailの位置がちがう場合もあります
    このsendmailが使えないプロバイダーの時は、ここはこのままでOKですが
    上の設定でfalse にすることを忘れると、メールがどこかに飛んでいくかもしれません
    頭に「#」を付けて、#$sendmail = '/usr/lib/sendmail'; にするほうがベターです
    頭に「#」をつけるとCGIはその部分を無視します

     $sendmail = '/usr/lib/sendmail';


  • 次はいたずら対応です!
    ※いたずらが、ひんぱんな時に利用してください(初期値は使えない設定にしてあります)



    #212行目
    投稿場所の指定設定
    他サイトのページからリンクされ、フォームを使って直接投稿される記事を拒否できます
    これを設定した場合、あなたも他のページからリンクし、フォームを使って直接投稿する記事も拒否されます
    すなわち、設置したこのcocobbs.cgi以外からの投稿ができなくなります
    入れてあるドット「.」を消してこのcocobbs.cgi のURL設定(http://からフルパスで記入)

     $base_url = ".";

    #216行目
    指定したIPアドレスからの投稿を拒否設定
    ('')の中に投稿されたくない訪問者のIPアドレスを書く
    ('')の中に ('ALL');と書くと全てのホストからの投稿を拒否できます
    読むだけで投稿が一切できないということです(あなたも含めて)

    IPアドレスは管理ページに記録されています
    いたずらするipが111.111.111.120としたら
    ('111.111.111.120','111.111.111.130');とすると
    1111.111.111.120111.111.111.130の2つのipを拒否します(拒否が足りない可能性があります)
    ('111.111.111');とすると
    1111.111.111.0から111.111.111.255までの間すべてのipアドレスを拒否します(拒否しすぎる可能性があります)

     @reject_ipaddr = ('xxxx.xxxx.xxxx');

    #221行目
    プロクシ経由で来る訪問者の記帳を拒否設定
    (一般の訪問者も拒否する可能性があります)
    (拒否=1、拒否しない=0)

     $reject_proxy = 0;


  • これで、すべての初期設定が終了です
    メール通知機能は、メーラで確認すればブラウザを起動させて投稿があったか確認しなくてもよくて便利です
    しかし、たくさんの投稿があるとメールがたくさん届きます、そのため整理が大変だったり
    プロバイダから契約時にアナウンスされたメールサーバの一人あたりの受付け許可容量をオーバーして
    他のメールが消えたりメールサーバが受付けをできなくなったりする可能性があります
    それから、いたずら防止機能は、普通の人まで拒否してしまう可能性もあります
    必要な時に使うことをおすすめします





  • 状況に応じて利用してください

    ホームページにCGI等でいろんな機能を付けていくと、トラブルの可能性が高くなります
    メンテナンスを怠らないようにすることが、メールの紛失や、記録ログの消滅などを防げる最良の方法です



目次(クリックすると項目に飛びます!)
1・プロローグとサンプル
2・プログラムを取得
3・プログラムの初期設定
4・ファイルをそろえて転送

重要項目
4・ファイルをそろえて転送


    それでは
    初期設定が終わったcocobbs.cgiを保存して、
    他の必要なファイルがそろっているか確認してサーバへFTP(転送)します


    まず、このCGI、初期設定が終わったcocobbs.cgiをUNIXサーバ用に合わせるために、
    (プロバイダーがUNIXサーバ使用していることを前提にします)改行コード「LF」にて保存します

    cocobbs.cgiJCODE.pl記録ログファイル画像ファイルがすべてそろっているか確認します

    次に転送先のディレクトリを決めますサーバーに新しくディレクトリを作る時はそのディレクトリにあわせて
    初期設定のURL設定が合っているか確認して下さい(cgi-binと書いているところ)

    cocobbs.cgi」・「JCODE.pl」・「cocobbs.dat」を、ASCII・アスキーモード(テキストモード)
    画像ファイル「xxx.gif」または「XXXX.jpg」は、Binary・バイナリーモード又は、Rowモードで転送します

    転送が終わったら、アクセス権の設定(パーミッションの設定)をします
    これをやらないと、CGIは動きません(エラーが出ます)

    パーミッション値
    /cgi-bin/ ---------(777)CGIを置くディレクトリ
    JCODE.pl ---------(755)
    cocobbs.cgi-----(755)
    cocobbs.dat-----(666)

    ■サーバー設置基本構成

    ( )内はパーミッション値
    
     /public_html/(ホームページディレクトリ)
        |
        |-- /cgi-bin/(777)--CGIを置くディレクトリ
                    |
                    |--JCODE.pl (755)
                    |--cocobbs.cgi (755)
                    |--cocobbs.dat (666)
                    |--画像(通常、画像のパーミッション値は設定不用)
                              (プロバイダー側で644などに設定される)
    
    ※プロバイダーによっては、ファイルの種類別にサーバ内で
    置き場所を指定している所もありますその時は、プロバイダーの説明に従って下さい
    
    cgi-bin(ディレクトリ)のパーミッション値は777です(ファイルロック(open関数)使用の為に)
    
    




  • 転送、パーミッションの設定が終わったらまず終了です!
    あとは、CGIのテストをすると万全です
    CGIのテスト(シェルテスト)をすると、エラーが出た時のエラー情報を教えてくれますので間違いの訂正に便利です

    CGIのテストはtelnetでログインして行ないます
    こちらの講座---でMACでtelnetへログインや、CGIのテスト方法等を説明していますので参照して下さい
    Winでの方法も、考え方は同じです

    ※サーバエラーのでる、よくある原因を下に書いておきます

    ■CGIの設置できないプロバイダーである
    ■パーミッションが合っていない
    ■ファイル名が違っている(大文字、小文字の違いでも受け付けない)
    ■CGIのプログラムの#!/usr/bin/perl (インタプリタ)の行が違う、先頭の#を消している
    ■意味がわからずプログラムの書き替えをした
    ■ (.)(')(")(;)等の記入間違い、又は消している、ダブっている
    ■CGIのプログラムの中で、print "........\n"; の中の........の部分にHTMLタグ文字列を示す(")を置いている
    ( perlの(")クオートと衝突する)

      その場合は、(")の前に\を置いて(\")の様にする

      エラー になる例- print "<IMG SRC="$titleMOJI" ALT="画像">\n";
      エラーのでない例- print "<IMG SRC=\"$titleMOJI\" ALT=\"画像\">\n";

      但し、HERE文字列(終端文字列)で指定した範囲はその必要はない
      例えば、
      このプログラム中にもありますが、print<<"_EOF_"; と_EOF_の間の部分はHTML形式扱いになります

    無事に動いたら、後は任意のHTMLページにcocobbs.cgiのリンクを置くと完成です

    ※それから、ぜひおこなっておく事に、このCGIを置いたディレクトリに
    index.html(空データーのものでもOKです)を置くことをすすめます
    このindex.htmlを置くことで、このCGIを置いたディレクトリの一覧を覗かれる事を防げます

    試しに、index.htmlを置かずに
    ブラウザでhttp://XXXXXXXX/~XXXXX/cgi-bin/cocobbs.cgiとしてアクセスするのを
    http://XXXXXXXX/~XXXXX/cgi-bin/とやってみると
    ブラウザにディレクトリcgi-bin中のファイル一覧が表示されてしまいます
    表示されることで、ディレクトリ中のデーターがすべて覗かれ、パーミッション値によっては、
    ここから直接コピーされたりする事もありえます
    このindex.htmlを置いておくと、cgi-bin中の一覧は表示されずこのindex.htmlが表示されます

    なお、このindex.htmlのパーミッションは設定不用です
    htmlファイルのパーミッション値は、通常、プロバイダー側で設定されるので設定不用です
    (プロバイダー側で644などに設定される)





  • これでcocobbs Ver 1.02ガイドの終了です、FTPについての関連詳細説明、
    必要ソフトのダウンロード先は、こちらcocoguestGUIDE.html
    「ファイルをそろえて転送」の項目部分にのせていますので参照して下さい




    更新記録1: 1999.08.20 返信機能付き簡易掲示板cocobbs Ver 1.02を配布開始
    更新記録2: 1999.12.29 表示の不具合と投稿コメント許容文字数設定項目の追加
    更新記録3: 2000.01.04 掲示板の使い方のページを追加し、cocobbs Ver 1.02とする

- cocobbs Ver 1.02 -
Presented by katupa