スクリプト設置説明

<<<BACK<<<

各スクリプト共通

  • CGIを設置できるプロバイダとの契約が必要です。まず、あなたが契約しているプロバイダが「CGI設置を許可している」ことを確認してください。
  • 解凍ソフト、FTP転送ソフト、テキストエディタを用意してください。解凍ソフトはLZH形式に対応したものを、FTP転送ソフトはパーミッションの変更ができるものを用意してください。エディタはメモ帳やSimple Textでも十分です。使いなれたテキストエディタでもいいですが、ホームページ作成ソフトやワープロソフトで編集してはいけません。
  • プロバイダの説明ページなどから、perlのパス(Ver.5以降を推奨します)を調べてください。同時にパーミッションの指定やCGIに関する制限なども確認しておいてください。
  • ダウンロードページで必要な項目を入力し、メールを受信します。圧縮ファイルが添付されていることを確認します。添付されていない場合はメールソフトの設定を確認してください。
  • 解凍ソフトを使用して圧縮されたスクリプトを解凍します。スクリプト本体とライブラリ(hiromi-lib.pl等)、jcode.plが作成されます。
  • エディタを使用してスクリプトの初期設定部分を変更します。まずはperlのパスのみを変更してください。通常は「#!/usr/local/bin/perl」ですがプロバイダにより異なります。ライブラリ(hiromi-lib.pl等)とjcode.plを拡張子.cgiのファイルと違うディレクトリに設置する場合、ライブラリとjcode.plのパスも変更します。
  • 契約プロバイダのサーバに各ファイルをASCII(テキスト)モードで転送し、パーミッションの設定を行ないます。ログファイルを作成するディレクトリ(デフォルトではCGIを設置するディレクトリ)のパーミッションには777や707(familleでは755)を指定します。転送したファイルには755や705を指定します。設置するサーバによってはこの限りではありませんので詳しくはプロバイダの説明ページを参照してください
  • この時点で実行してInternal Server Errorが出た場合、転送モードを間違えていたり、パーミッションの設定を間違えている可能性があります。転送モードがASCIIで、プロバイダの指示するパーミッションを指定してもダメなら、エディタやFTP転送ソフトの設定を確認してください(初心者の方には、まずはエディタとFTP転送ソフトの設定をデフォルトのままで使用することを推奨します。期待した通りに動作しない場合はエディタやFTP転送ソフトのサイトに用意してあるFAQなどを参照して設定を変更してください)。
  • 動作はするが文字化けが出ている場合、エディタまたはFTPソフトの文字コード(シフトJIS、JIS、EUC等)設定が誤っている可能性があります。エディタとFTP転送ソフトの設定を確認してください。当サイトのデフォルトでは、文字コードはシフトJISです。
  • 動作を確認したら初期設定をお好みに合わせて変更し、再度動作を確認します。
  • 必要な画像ファイルをバイナリ(生データ)モードでサーバに転送します。
  • 特に初心者の方は、一度に多くのことを変更するとわけがわからなくなります。ひとつずつ、自分なりにステップを踏みながら設置しましょう。

ランダム掲示板

<<<BACK<<<

>>>各スクリプト共通の説明

以下は初期設定項目の説明です。

#!/usr/local/bin/perl
↑プロバイダ指定のperlのパスを記述します。
$| = 1;
↑おまじないです。変えないでください。
#==============================================================================
# RandomBBS			http://www3.famille.ne.jp/~hiro_oba/cgi/
#------------------------------------------------------------------------------
# Builtin Board System
#					Programmed by H.Obayashi (C) 1999
#------------------------------------------------------------------------------
#==============================================================================
#日本語ライブラリ
require 'jcode.pl';
jcode.plのパスを記述します。同じディレクトリに転送した場合は
このままでかまいません。一つ上のディレクトリに転送した場合は
require '../jcode.pl'; です。
#汎用ライブラリ require 'hiromi-lib.pl'; jcode.plと同様にパスを記述します。 #------------------------------------------------------------------------------ #データファイル格納ディレクトリ $base_dir = ''; ログファイルを作成するディレクトリのパスを記述します。
CGIと同じディレクトリに作成する場合はこのままでかまいません。
プロバイダからディレクトリの指定がある場合はそれを記述してください。

ちなみにfamilleでは絶対パスで以下のように
$base_dir = '/uhome/ユーザディレクトリ名/work/';
とするとログファイルを他人に見られないようにでき、
セキュリティ向上に利用できます。
#データファイル $datafile = 'randbbs.txt'; ログのファイル名です。スペースを含まない半角英数で
指定してください。このままでもかまいません。
#------------------------------------------------------------------------------ #IMG,I,B,FONT,DIVタグの許可(許可 1/許可しない 0) $tag = 1; <IMG>、<I>、<B>、<FONT>、<DIV>タグを許可するかどうかを
指定します。
#------------------------------------------------------------------------------ #記事最大件数 $max_rec = 100; 記事の最大数です。あまり多くすると速度が低下します。
これを越えた分の記事は自動的に削除され、復活できません。
#1ページに表示する記事件数 $page_rec = 10; 1ページに表示される記事の数です。 #入力フォーム、コメント欄のサイズ $areasize = 80; 入力フォームのテキストエリアの幅を指定します。 #------------------------------------------------------------------------------ #クッキー名と有効期限 $cookiename = 'randbbs'; クッキー名を指定します。 $expire = 60; クッキーの有効期限を日数で指定します。 @C_KEY = ('name','icon','email','hpname','hpurl','pass'); クッキーに記録する項目です。通常はこのままでかまいません。 #------------------------------------------------------------------------------ #トップページURL $toppage = 'http://www3.famille.ne.jp/~hiro_oba/cgi/'; あなたのサイトのトップページURLを指定してください。 #------------------------------------------------------------------------------ #おみくじ おみくじの内容を指定します。タグも使用できますが、
あまり凝ったタグにはしない方が無難です。
いくつでも指定できますが、最後の項目以外は
カンマで区切ります。
@fortune = ( '<small>大吉だよ</small>', '<small>中吉だね</small>', '<small>吉ですよ</small>', '<small>小吉かな</small>', '<small>末吉ねぇ</small>', '<small>凶なのさ</small>', '<small>大凶かよ</small>' ); #------------------------------------------------------------------------------ #背景画像群 背景画像を相対パス、またはURL表記で指定します。
いくつでも指定できますが、最後の項目以外は
カンマで区切ります。
この中から背景画像がランダムで表示されます。
@background = ( '../gif/bg1.gif', '../gif/bg2.gif', '../gif/bg3.gif' ); #------------------------------------------------------------------------------ #アイコンの使用(使用 1/非使用 0) $useicon = 1; アイコンを使用するかどうかを指定します。 #アイコン群の種類 アイコン群の名前を指定します。
いくつでも指定できますが、最後の項目以外は
カンマで区切ります。ここで指定した中から、
アイコン群を投稿時に選択できます。
@kind_icon = ( 'いぬ', 'ねこ', 'うさぎ', 'くま', 'その他' ); #------------------------------------------------------------------------------ #アイコン群の画像 上の設定項目で指定したアイコン群の名前を使用して
$icons{'アイコン群の名前'}になるように指定します。
各画像ファイルは、相対パスまたはURL表記で指定します。
各アイコン群とも最後の項目以外は .' '.で区切ります。
$icons{'いぬ'} = '../gif/dog1.gif'.' '. '../gif/dog2.gif'.' '. '../gif/dog3.gif'; $icons{'ねこ'} = '../gif/cat1.gif'.' '. '../gif/cat2.gif'.' '. '../gif/cat3.gif'; $icons{'うさぎ'} = '../gif/rab1.gif'.' '. '../gif/rab2.gif'.' '. '../gif/rab3.gif'; $icons{'くま'} = '../gif/bea1.gif'.' '. '../gif/bea2.gif'.' '. '../gif/bea3.gif'; $icons{'その他'} = '../gif/etc1.gif'.' '. '../gif/etc2.gif'.' '. '../gif/etc3.gif'; #------------------------------------------------------------------------------ #サイト名が未記入時に表示されるアイコン $jumpicon = 'http://www3.famille.ne.jp/~hiro_oba/cgi/gif/home.gif'; 投稿時にサイト名欄が未記入であった場合、ここで指定した
画像ファイルが表示されます。
相対パス、またはURL表記で指定してください。
#メールアドレス欄未記入の許可(許可 1/許可しない 0) $mail = 0; メールアドレス欄が未記入の投稿を、許可するかどうかを
指定します。
#------------------------------------------------------------------------------ #管理者パスワード $adminpass = 'password'; 管理者削除モードで使用するパスワードです。 #管理者メールアドレス $adminmail = 'hiro_oba@ruby.famille.ne.jp'; あなたのメールアドレスを指定します。必ず変えてください。 #掲示板タイトル $title = 'ランダム掲示板'; ブラウザのタイトル表示設定です。
Hiromi's Boardのように 'を使用したいときは
$title = 'Hiromi\'s Board';のようにします。
#------------------------------------------------------------------------------ #ボタン表示 入力フォームのボタンに表示される文字を指定します。 $delbtn = '削除'; $regbtn = '投稿'; $nxtbtn = '次頁'; #------------------------------------------------------------------------------ #ホスト名表示(表示 0/非表示 1) $viewhost = 0; 投稿者のプロバイダ名を表示するかどうかを指定します。 #ブラウザ名表示(表示 0/非表示 1) $viewagent = 0; 投稿者のブラウザ名を表示するかどうかを指定します。 #------------------------------------------------------------------------------ #区切りライン $useline = 1; #表示 1/非表示 0 区切りライン(水平線または画像)の表示の有無を指定します。 $linegif = ''; #画像URL指定で画像を使用 このままなら水平線、画像ファイルを相対パスまたは
URL表記で指定すると区切りラインが画像になります。
$linewidth = '100%'; 区切りラインのwidth属性を指定します。 $lineheight = ''; 区切りラインに画像を使用する場合、height属性を指定します。 #------------------------------------------------------------------------------ #記事テーブル表示設定 $tablesize = '100%'; 記事テーブルの横幅を指定します。 $subjbg = '#DDDDDD'; 記事タイトルの背景色を指定します。 $subjtext = '#111111'; 記事タイトルの文字色を指定します。 $artbg = ''; 記事本文の背景色を指定します。 $arttext = '#222222'; 記事本文の文字色を指定します。 #------------------------------------------------------------------------------ #色設定 <body>タグに反映されます。 $bgcolor = '#FFFFFF'; $text = '#222222'; $link = '#0000EE'; $vlink = '#EE0000'; $alink = '#EE0000'; #------------------------------------------------------------------------------ #入力フォームの上に表示するHTML 入力フォームの上に表示するHTMLを指定します。 $html = <<"END"; <div align=center> <font size=7 color=#0000FF>ランダム掲示板</font> <br> <table><tr><td> <ul> <li>背景画像がランダムに表\示されます。 <li>投稿時に選択したアイコン群からランダムにアイコンが表\示されます。 <li>おみくじもランダムに表\示されます。 <li>No.欄に管理者パスワードを入力してフォーム送信すると削除モードになります。 <li>No.欄に削除したい記事番号を入力して削除ボタンを押すと記事削除ができます。 </ul> </td></tr></table> </div> END #------------------------------------------------------------------------------ #設置URL(自動取得、WRAPサーバ使用時は指定) $addr = ''; 通常は変更する必要はありません。 #$addr = 'http://localhost/cgi-bin/privateCGI/rndbbs.cgi'; #記述例 #------------------------------------------------------------------------------ #データファイルに記録されるパスワードの暗号化の種 #削除機能が使えない場合は $SALT = '';で指定してみる $SALT = 'RB'; 投稿時にパスワード欄に入力されたパスワードを
暗号化するための種を半角英字2文字で指定します。
ログファイルには暗号化された状態で記録されます。
サーバが対応していなかったり、crypt関数の仕様が
異なるなどの理由で削除機能が使えない場合は
$SALT = '';を指定します。

アクティブリンカ

<<<BACK<<<

>>>各スクリプト共通の説明

以下は初期設定項目の説明です。

#!/usr/local/bin/perl
↑プロバイダ指定のperlのパスを記述します。
$| = 1;
↑おまじないです。変えないでください。
#==============================================================================
# ActiveLinker			http://www3.famille.ne.jp/~hiro_oba/cgi/
#------------------------------------------------------------------------------
# Automatic Link Script
#					Programmed by H.Obayashi (C) 1999
#------------------------------------------------------------------------------
#==============================================================================
#日本語ライブラリ
require 'jcode.pl';
jcode.plのパスを記述します。同じディレクトリに転送した場合は
このままでかまいません。一つ上のディレクトリに転送した場合は
require '../jcode.pl'; です。
#汎用ライブラリ require 'hiromi-lib.pl'; jcode.plと同様にパスを記述します。 #------------------------------------------------------------------------------ #データファイル格納ディレクトリ $base_dir = ''; ログファイルを作成するディレクトリのパスを記述します。
CGIと同じディレクトリに作成する場合はこのままでかまいません。
プロバイダからディレクトリの指定がある場合はそれを記述してください。

ちなみにfamilleでは絶対パスで以下のように
$base_dir = '/uhome/ユーザディレクトリ名/work/';
とするとログファイルを他人に見られないようにでき、
セキュリティ向上に利用できます。
#データファイル $datafile = 'alink.txt'; ログのファイル名です。スペースを含まない半角英数で
指定してください。このままでもかまいません。
#------------------------------------------------------------------------------ #管理者パスワード $adminpass = 'password'; 管理者削除モードで使用するパスワードです。 #トップページURL $toppage = 'http://www3.famille.ne.jp/~hiro_oba/cgi/'; あなたのサイトのトップページURLを指定してください。 #管理者メールアドレス $adminmail = 'hiro_oba@ruby.famille.ne.jp'; あなたのメールアドレスを指定します。必ず変えてください。 #タイトル $title = 'アクティブリンカ'; ブラウザのタイトル表示設定です。
Hiromi's Linkのように 'を使用したいときは
$title = 'Hiromi\'s Link';のようにします。
#------------------------------------------------------------------------------ #更新情報記事最大件数(0から9で指定 0なら非表示) $max_update = 3; 更新情報記事の最大数を指定します。 #1ページに表示する記事件数 $page_rec = 10; 1ページに表示される記事の数です。 #入力フォーム、コメント欄のサイズ $areasize = 80; 入力フォームのテキストエリアの幅を指定します。 #------------------------------------------------------------------------------ #色設定(bodyタグに反映) $bgcolor = '#FFFFFF'; $text = '#222222'; $link = '#0000EE'; $vlink = '#EE0000'; $alink = '#EE0000'; #------------------------------------------------------------------------------ #背景画像群(この中からランダムでbodyタグに反映) 背景画像を相対パス、またはURL表記で指定します。
いくつでも指定できますが、最後の項目以外は
カンマで区切ります。
この中から背景画像がランダムで表示されます。
@background = ( '../gif/bg1.gif', '../gif/bg2.gif', '../gif/bg3.gif' ); #------------------------------------------------------------------------------ #フォームボタン表示 機能フォームのボタンに表示される文字を指定します。
誤動作を防ぐため、ボタンごとに違う設定をしてください。
$topbtn = 'トップへ'; $bckbtn = '前に戻る'; $delbtn = 'サイト情報削除'; $regbtn = '新規登録'; $corbtn = '記事訂正'; ↑''に設定するとボタンは表示されません。 $updbtn = '更新情報登録'; ↑''に設定するとボタンは表示されません。 $rndbtn = 'ランダム'; ↑''に設定するとボタンは表示されません。 $seabtn = '検索'; $nxtbtn = '次のページ'; #機能フォームの入力欄サイズ $seasize = 30; 検索キー入力欄のサイズを指定します。 $numsize = 8; サイトNo.入力欄のサイズを指定します。 #フォーム内色指定 機能フォームの背景色とフォント色を指定します。 $form_bgcolor = '#EEEEEE'; $form_fontcolor = '#800000'; #------------------------------------------------------------------------------ #新規登録時に未記入を許可しない項目 #コメントアウトで未記入を許可 @ER = ( 'name', #サイト登録者のハンドル 'email', #サイト登録者のメールアドレス 'hpname', #サイト名 'hpurl', #サイトURL # 'banner', #サイトのバナー 'pass', #削除・訂正用パスワード 'comment' #サイトの紹介 ); #------------------------------------------------------------------------------ #バナーを用意していないサイトに適用するバナー 相対パスまたはURL表記で指定します。 $default_banner = 'http://www3.famille.ne.jp/~hiro_oba/cgi/defaultbanner.gif'; #------------------------------------------------------------------------------ #ホスト名表示(表示 0/非表示 1) $viewhost = 0; #ブラウザ名表示 $viewagent = 0; #サイトCALL回数表示(表示 0/非表示 1) $viewcall = 0; #------------------------------------------------------------------------------ #記事テーブルサイズ設定 記事テーブルの幅を指定します。 $td_total = 'width=700'; ↑記事テーブル全体の幅を指定します。 $td_number = 'width=40'; ↑No.部の幅を指定します。 $td_banner = 'width=88'; ↑バナー部の幅を指定します。 $td_comment = 'width=522'; ↑コメント部の幅を指定します。 $td_call = 'width=50'; ↑CALL部の幅を指定します。$viewcallが1のとき、この設定は無効です。 #------------------------------------------------------------------------------ #記事テーブル表示設定(見出し部) #背景色 $head_bg = '#000080'; #文字色 $head_fc = '#EEEE00'; #------------------------------------------------------------------------------ #記事テーブル表示設定(記事部) #背景色 $rec_bg = '#000000'; #サイトNo.とCALL回数の文字色 $num_fc = '#DDDDDD'; #サイト名文字色 $rec_sc = '#EEEE00'; #紹介記事文字色 $rec_fc = '#B0B0FF'; #ホスト&ブラウザ名文字色 $rec_vc = '#FFC0C0'; #登録・更新日の文字色 $rec_date = '#B0FFB0'; #------------------------------------------------------------------------------ #更新情報の前後に入れるタグ 更新情報記事の前後に入れるタグを指定します。 #コメント前のタグ $span_upd_open = '<hr width=100%><font color=#DDDDDD>'; #コメント後のタグ $span_upd_close = '</font>'; #------------------------------------------------------------------------------ #ジャンプ先フレーム(0:自分自身/1:新規フレーム) 新規ウィンドウでリンク先サイトを表示するときは1に設定します。 $window = 0; #------------------------------------------------------------------------------ #フォームの上に表示するHTML $html = <<'END'; <div align=center> <font size=7 color=#0000FF>アクティブリンカ</font> <br> <table><tr><td> <ul> <li>背景画像がランダムに表示されます。 <li>Site No欄に管理者パスワードを入力してフォーム送信すると削除モードになります。 <li>Site No欄にサイト番号を入力してボタンを押すと訂正・更新情報登録・削除ができます。 <li>簡易検索機能で目的のサイトを検索できます。複数条件はスペースで区切ります。 <li>見出し部のリンクをクリックすると、ソート表示されます。再度クリックすると逆順でソートされます。 </ul> </td></tr></table> </div> END #------------------------------------------------------------------------------ #<head>〜</head>タグ内に記述するHTML $header_html = <<'END'; <!-- --> <!-- --> END #------------------------------------------------------------------------------ #クッキー名と有効期限 $cookiename = 'alink'; クッキー名を指定します。 $expire = 60; クッキーの有効期限を日数で指定します。 @C_KEY = ('name','email','pass','sitenum'); クッキーに記録する項目です。通常はこのままでかまいません。 #------------------------------------------------------------------------------ #設置URL(自動取得、WRAPサーバ使用時は指定) $addr = ''; 通常は変更する必要はありません。 #$addr = 'http://localhost/cgi-bin/privateCGI/alink.cgi'; #記述例 #------------------------------------------------------------------------------ #データファイルに記録されるパスワードの暗号化の種 #削除機能が使えない場合は $SALT = '';で指定してみる $SALT = 'AL'; 登録時にパスワード欄に入力されたパスワードを
暗号化するための種を半角英字2文字で指定します。
ログファイルには暗号化された状態で記録されます。
サーバが対応していなかったり、crypt関数の仕様が
異なるなどの理由で登録者削除機能が使えない場合は
$SALT = '';を指定します。
#------------------------------------------------------------------------------ # ここまで初期設定 #------------------------------------------------------------------------------