ツリー掲示板(imTRBBS)
重要なお知らせ
imTRBBS ver1.04以前にセキュリティバグがありました。詳細はJAPUで報告されています。
以下にに示す方法のつちどれか一つを選んで対処して下さい。
◇ver1.04にパッチを当てる
im_trbbs.cgiの28行目を以下のように変更してください。
&err_check(!(($form{'df'} ne $im_env{'usr_dat'}) && ($form{'df'}!~m/^\d+\.log$/)),"不正なデータファイル名 <B>$form{'df'}</B> が指定されました","HF");
◇ver1.04をver1.05にアップデートする
ver1.04をアップデートする際は、以下のファイルを下に示すverで上書きしてください。
【注意】
※ id.cgi,bbsディレクトリをバックアップしてから作業するようにして下さい。
im_trbbs.cgi ver1.05(必須)
im_trset.cgi ver1.05(必須)
im_trenv.cgi ver1.05(必須)
im_cgi.pl ver1.05(必須)
im_crypt.cgi ver1.05(推奨)
im_trenv.cgi ver1.05(推奨)
genv.pl ver1.05(推奨)
jcode.pl ver2.13(推奨)
◇ver1.03以前をver1.05にアップデートする
ver1.03以前をアップデートする際は、以下のファイルを下に示すverで上書きしてください。
【注意】
※ id.cgi,bbsディレクトリをバックアップしてから作業するようにして下さい。
im_trbbs.cgi ver1.05(必須)
im_trset.cgi ver1.05(必須)
im_trenv.cgi ver1.05(必須)
im_cgi.pl ver1.05(必須)
im_crypt.cgi ver1.05(必須)
im_trenv.cgi ver1.05(必須)
genv.pl ver1.05(必須)
jcode.pl ver2.13(推奨)
特徴
複数の掲示板が同時に運営可能で、掲示板の設置・初期化などがブラウザから行えます。
掲示板毎にID・パスワードの設定が可能で、表示形態・動作条件のカスタマイズをブラウザから安全に行えます。
大量発言がある掲示板での高速動作を実現するため、過去ログの自動切り出し保存/自動消去ができます。
入力時半角カナ文字・文字装飾用HTMLタグの一部が利用可能で、記事中のURLには自動リンクします。
新規投稿メール通知・掲示板アクセスカウンタ・キーワード検索などにも対応しています。
サンプル
サンプル1(新しい記事を含むツリーが一番上にくる設定です)
サンプル2(親記事の投稿順にツリーが並ぶ設定です)
掲示板管理画面(管理者用:掲示板の作成・削除、運営者情報の登録変更などを行うときの例です
ファイル操作画面(運営者用:掲示板のデータファイルを操作するときの例です)
掲示板動作環境設定(運営者用:掲示板の動作環境を設定するとの例です)
ダウンロード
imTRBBS ver1.05(LHAファイル:)
ファイルレイアウト
ダウンロードした圧縮ファイルを解凍すると、以下のようなディレクトリ構成でファイルが展開されます。
このままの構成であればユーザ変数の編集をしないで動作確認が可能となっています。
[ ] 内の値は、パーミション-転送モード(A:ASCCI / B:BINARY)を示します。
TRBBS_***
├ cgi-bin [755]
| └ imTRBBS [755]
| ├ im_trbbs.cgi [705-A] 掲示板スクリプト <┬ この2つのファイルは
| ├ im_trset.cgi [705-A] 管理用スクリプト <┘ 必ず同じディレクトリに置いて下さい
| ├ im_trenv.pl [604-A] 基本環境設定ファイル <-- このファイルも同じディレクトリの方がいいでしょう
| ├ im_crypt.cgi [705-A] パスワード作成スクリプト
| ├ lib [755]
| | ├ genv.pl [606-A] デフォルト環境設定ファイル
| | ├ id.cgi [606-A] ID登録ファイル
| | ├ index.html [604-A] 利用方法説明ファイル
| | ├ im_cgi.pl [604-A] 汎用サブルーチンファイル
| | ├ im_count.pl [604-A] 汎用カウンタサブルーチンファイル
| | └ jcode.pl [604-A] 日本語コード変換スクリプト
| └ bbs [707] ← パーミッション注意
| └ index.html [644-A] ダミーファイル(ディレクトリ一覧表示防止/動作上不要)
└ home [755]
└ imTRBBS [755]
├ index.html このファイルです(動作上不要)
└ color_table.gif [604-B] カラーテーブル画像ファイル
※ユーザディレクトリ(掲示板毎のデータ格納ディレクトリ)は、bbsディレクトリにCGIスクリプトが自動作成します。
ファイル説明
imTRBBSで必要なファイルは以下の通りです。(編集項目を確認したい場合は、スクリプト名をクリックして下さい)
im_trbbs.cgi
掲示板本体のスクリプトです。
Perlのパスを確認し、必要に応じ編集する必要があります。
必要に応じim_trenv.plの場所(相対パス)を編集してください。
im_trset.cgi
掲示板管理用のスクリプトです。
Perlのパスを確認し、必要に応じ編集する必要があります。
必要に応じim_trenv.plの場所(相対パス)を編集してください。
im_trenv.pl
掲示板共通の動作をコントロールする変数を記述してあります。
ファイルやディレクトリのパスをテキストエディタなどで編集して下さい。
パスは、im_trbbs.cgi を基準とした相対パスで指定して下さい。
※sendmailコマンドのパスは、絶対パスで指定して下さい。
また、掲示板管理用のID・パスワード(im_crypt.cgiで暗号化したパスワード)を指定する必要があります。
im_crypt.cgi
Perlのパスを確認し、必要に応じ編集する必要があります。
※設置サポート上必要な機能も含んでいるのでいます。
※サポートを希望される場合はこのファイルを実行できるようにしておいてください。
genv.pl
このファイルに各示板毎の動作をコントロールする変数を記述してあります。
このファイルは im_trset.cgi でブラウザから変数値の変更が可能なので、編集の必要はありません。
このファイルは im_trset.cgi で掲示板を作成する際、掲示板毎にenv.plという名称でコピーされます。
id.cgi
このファイルに掲示板の運営者情報を記録します。
データは im_trset.cgi が自動的に書き込みますから、空ファイル(容量が0バイト)であることを確認して下さい。
....cgiの拡張子が付いているのは、不正アクセスがあったとき内容表示せずサーバエラーにするためです。
index.html(libディレクトリの利用方法説明ファイル)
im_cgi.pl
im_count.pl
jcode.pl
これらのファイルは動作上必要なデータや汎用化されたプログラムを記述してあります。
これらのファイルは編集しないで下さい。
....jcode.pl は、Kazumasa Utashiro氏が作成した日本語コード変換用のフリーウエアです。
color_table.gif
このファイルは、im_trset.cgiでブラウザから変数値の変更をする際の色見本となります。
他の画像ファイルと差し替えたり、編集をしないで下さい。
設置手順
imTRBBSではフォーラムやレンタル掲示板として利用できるように管理者と運営者とが区別されています。
管理者
掲示板を作成したり削除することができます(基本的にはスクリプトを設置する人です)。
※管理者は個々の掲示板の記事を操作すること(記事編集など)はできません。
運営者
管理者が作成した掲示板を利用する人です。
運営者は自分が運営する掲示板の動作環境設定や記事編集ができます。
01).管理者用暗号化パスワードの作成
・im_crypt.cgiのPerlパスを確認し、必要に応じ編集します。
※Perlパスは #!/usr/local/bin/perl というように不要な空行や空白を入れずに記述してください。
・サーバのcgi-binディレクトリ(CGI実行可能ディレクトリ)にim_crypt.cgiをアップロードします。
・im_crypt.cgiのパーミッションを705に設定します。
・ブラウザでim_crypt.cgiをリクエストします。
暗号化パスワード作成フォームが表示されます。
※万一、サーバエラーとなった場合はPerlパス、パーミッションを再確認して下さい
・「パスワード」欄に管理者としてログインする場合に使用する管理者用パスワードを入力します。
※「暗号化パスワード欄」は空欄にしておいてください。
・「作成」ボタンを押します。
「暗号化パスワード欄」に管理者用暗号化パスワードが表示されます。
※作成した管理者用暗号化パスワードをメモしておきます(ファイル編集時に必要となります)。
02).各ファイルの編集
・im_trbbs.cgiとim_trset.cgiのPerlパスを確認し、必要に応じ編集します。
※im_trenv.plのパスも確認してください(ファイルレイアウトによっては編集が必要となります)。
・im_trenv.plを編集します。
$im_env{'adm_id'}に管理者用IDを設定してください。
$im_env{'adm_crypt_pw'}に管理者用暗号化パスワードを設定してください。
※ここで設定するパスワードは01項で作成した管理者用暗号化パスワードです。
※ファイルやディレクトリのパスは必要に応じ編集してください。
※その他の項目はコメントを参考に編集してください(動作確認が終わるまでは初期値のままが無難です)。
03).ファイルのアップロード
・ディレクトリ、ファイルの構成がファイルレイアウトどおりになっていることを確認します。
・全てのディレクトリ・ファイルをサーバにアップロードします。
※転送モードに注意してください。
・アップロードしたディレクトリ・ファイルのパーミッションを設定します。
※bbsディレクトリはパーミッション707です。
※id.cgi,genv.pl はパーミッション606です。
04).基本動作確認
・ブラウザでim_trbbs.cgiをリクエストします。
利用方法説明ファイルが表示されたらOKです。
・ブラウザでim_trset.cgiをリクエストします。
掲示板管理ログイン画面(imTRSET ログイン)が表示されたらOKです。
掲示板管理(管理者のみ可能です)
掲示板を管理するには管理者としてログインする必要があります。
・ブラウザでim_trset.cgiをリクエストします。
・imTRSETログインフォームが表示されます。
・「ユーザID」欄に管理者用ID、「パスワード」欄に管理者用パスワードを入力し「管理者用」ボタンを押して下さい。
※ここで入力するパスワードは暗号化していない管理者用パスワードです。
・imTRSET掲示板管理フォームが表示されます。
[掲示板作成]:掲示板を作成します。
・「掲示板作成」ボタンを押します。
imTRSETユーザ管理フォームが表示されます。
・「USER」欄、「URL」欄、「MAIL」欄、「PASS」欄に掲示板運営者情報を入力します。
USER:掲示板運営者のユーザID(半角英数字で入力して下さい)
URL :掲示板運営者のホームページ(トップページ)アドレス
MAIL:掲示板運営者のメールアドレス
PASS:掲示板運営者のパスワード(半角英数字で入力して下さい)
※全項目入力は必須です。
※「ユーザID」と同名のディレクトリがbbsディレクトリ内に自動作成されます。
※掲示板のカスタマイズをするときにここで設定した「ユーザID」、「パスワード」を使用します。
※一度設定したユーザIDの変更はできません。
・「USERと〜を追加します」ボタンを押します。
再度imTRSET掲示板管理フォームが表示されるので新しい掲示板が追加されていることを確認して下さい。
※bbsディレクトリ内に「USER」入力値と同名のユーザディレクトリが自動作成されます。
※id.cgiには掲示板運営者情報が自動的に追記されます。
[掲示板削除]:掲示板を削除します。
・削除したい掲示板のラジオボタンをチェックし「掲示板削除」ボタンを押します。
imTRSETユーザ管理フォームが表示されます。
・「USERと〜も消去します」ボタンを押します。
※掲示板を削除するとデータの復元はできません。
・ 再度imTRSET掲示板管理フォームが表示されるので対象の掲示板が削除されていることを確認して下さい。
[情報変更]:掲示板運営者の登録情報を修正します。
・情報変更したい掲示板のラジオボタンをチェックし「情報変更」ボタンを押します。
imTRSETユーザ管理フォームが表示されます。
・変更する情報を書き換えて「ID登録〜変更します」ボタンを押します。
※変更した情報は復元はできません。
・ 再度imTRSET掲示板管理フォームが表示されるので対象の掲示板の情報が変更されていることを確認して下さい。
[データ初期化]:掲示板のデータを初期化し作成時の状態に戻します。
・データを初期化したい掲示板のラジオボタンをチェックし「情報変更」ボタンを押します。
imTRSETユーザ管理フォームが表示されます。
・「USERディレクトリ〜初期化します」ボタンを押します。
※データを初期化するとデータの復元はできません。
※記事データ、過去ログを含め全てのデータを初期化します。
[CHMOD(777)]:bbsディレクトリ内をFTPやtelnetで直接操作する場合にUSERディレクトリのパーミッション777に設定します。
・「USERディレクトリ〜777に変更します」ボタンを押します。
※このモードは通常は利用しないでください。
※このモード実行後は必ず「CHMOD(705)」でユーザディレクトリのパーミッションを元に戻してください。
[CHMOD(705)]:bbsディレクトリ内にある全USERディレクトリのパーミッション705に設定します。
「CHMOD(777)」でbbsディレクトリを操作した後にこの操作を忘れないでください。
・「USERディレクトリ〜777に変更します」ボタンを押します。
[リスト再読込]:imTRSET掲示板管理フォームに表示されるデータを最新の状態に更新します。
・「リスト再読込」ボタンを押します。
掲示板運営(運営者のみ可能です)
掲示板の動作条件変更やデータファイル操作は運営者が行います。
このとき運営者としてログインする必要があります。
・ブラウザでim_trset.cgiをリクエストします。
・imTRSETログインフォームが表示されます。
・「ユーザID」欄に運営者用ID、「パスワード」欄に運営者用パスワードを入力します。
※ここで入力するパスワードは暗号化していない管理者用パスワードです。
・操作に応じて「環境設定」ボタンか「ファイル操作」ボタンを押します。
※データファイルを操作するときは「ファイル操作」ボタンを押して下さい。
※掲示板の動作環境を変更するときは「環境設定」ボタンを押して下さい。
・imTRSET掲示板管理フォームが表示されます。
[ファイル操作]:掲示板のデータファイルを操作します。
・「ファイル操作」ボタンを押してログインします。
imTRSETファイル操作フォームが表示されます。
・必要に応じ下記のボタンを押します。
bbs.dat :掲示板データをクリアします(過去ログは残ります)。
count.dat:カウンタデータをクリアします(カウンタ使用が制限されている場合もあります)。
*.lock :ロックファイルクリアします(何らかの以上でロックファイルが残ることがあります)。
env.pl :環境設定を初期化します。
*.log :過去ログをクリアします。
全初期化 :全てのファイルを初期化します(掲示板設置時の状態に戻します)。
[環境設定]
・「環境設定」ボタンを押してログインします。
imTRSET動作環境設定フォームが表示されます。
※色設定でカラーテーブルを利用したくない場合はカラーテーブル「利用しない」をチェックしてください。
・必要に応じテキスト欄入力値やラジオボタンチェックを変更して「変更」ボタンを押します。
※管理者が設定を無効にしてある項目もあります。
掲示板名称:掲示板の名称を設定します。
掲示板運営者ハンドル:掲示板運営者のハンドル名を設定します。
掲示板運営者パスワード:掲示板運営者のパスワードを設定します。
掲示板運営者メールアドレス:掲示板運営者のメールアドレスの設定です(運営者は変更できません)。
戻り先URL:掲示板からの戻り先URLを設定します。
戻り先表示文字:戻り先のラベルを設定します。
戻り先表示フレーム:戻り先を特定のフレームに表示する際のフレーム名を設定します。
適正記録容量(KB)[10-200]:記事データが設定した容量の2倍を超えた場合、過去ログを自動生成し、指定した容量に切り詰めます。
1ページ表示記事数[1-100]:1ページの表示記事数です(この値を超えたツリーの最後まで表示されます)。
最大返信数[0-30]:親記事への最大返信数です。
メールアドレス記入強要:yesに設定すると、メールアドレスの記入がない場合は投稿を受け付けません。
投稿者IPアドレス表示:yesに設定すると、投稿者のIPアドレスを表示します。
記事中URL自動リンク:yesに設定すると、記事中のインターネットアドレス・メールアドレスに自動的にリンクを張ります。
記事中タグ利用可否:yesに設定すると、記事中の文字装飾HTMLタグ入力を許可します。
記事中URLターゲット:記事中URL自動リンクで張られたリンクを開く際のフレーム名を設定します。
最新ツリーを先頭にセット:yesに設定すると、最新の記事を含むツリーを最初にセットします。noに設定すると、投稿順にセットします。
返信最後尾セット:yesに設定すると、同階層の最新返信を最も下にセットします。noに設定すると、最も上にセットします。
過去ログ自動作成要否:yesに設定すると、過去ログを自動作成します。
新規投稿通知メール要否:yesに設定すると、新規投稿がされた場合に掲示板運営者に通知メールが送信されます。
アクセスカウンタ要否:yesに設定すると、掲示板へのアクセス数が表示されます。
検索機能利用可否:yesに設定すると、タイトル・記事内容の全文検索が可能になります(選択しているデータが対象です)。
ページ背景色:掲示板の背景色を設定します(カラーテーブル利用をチェックしているときはカラーテーブルから選択します)
標準テキスト色:掲示板の標準テキスト色を設定します(同上)
未ジャンプリンクテキスト色:未ジャンプのリンクテキスト色を設定します(同上)
ジャンプ済リンクテキスト色:ジャンプ済みのリンクテキスト色を設定します(同上)
アクティブリンクテキスト色:アクティブなリンクテキスト色を設定します(同上)
記事テキスト色:記事のテキスト色を設定します(同上)
新着記事No強調色:新着記事のテキスト色を設定します(同上)
新着数設定[0-50]:最新の記事を基準として、新着記事扱いする記事数を設定します。
新着時間設定[0-240]:新着記事として扱う時間を掲示板アクセス時から何時間前かを設定します。
ページ背景画URL:掲示板背景画像のURLを設定します。
ロゴ画像URL:掲示板ロゴ画像のURLを設定します。
スモールフォント使用:yesに設定すると、ブラウザの標準より1サイズ小さいフォントで表示します。
表示行間隔[0-5]:記事間の隙(ピクセル数)を設定します。
テキスト入力欄サイズ[10-30]:投稿フォームのパスワード入力欄のサイズを設定します。
テキスト入力欄サイズ[15-50]:投稿フォームの投稿者名入力欄のサイズを設定します。
テキスト入力欄サイズ[30-80]:投稿フォームのタイトル・メールアドレス・ホームページアドレス入力欄のサイズを設定します。
テキストエリア行数[5-30]:投稿フォームの記事入力欄の行数を設定します。
テキストエリア桁数[50-80]:投稿フォームの記事入力欄のサイズを設定します。
テキストエリア強制改行:yesに設定すると、記事入力欄で自動改行されたとおりに改行されます。
名前入力欄:投稿フォームの投稿者名入力欄のラベルを設定します。
タイトル入力欄:投稿フォームのタイトル入力欄のラベルを設定します。
メールアドレス入力欄:投稿フォームのメールアドレス入力欄のラベルを設定します。
ホームページURL入力欄:投稿フォームのホームページアドレス入力欄のラベルを設定します。
パスワード入力欄:投稿フォームのパスワード入力欄のラベルを設定します。
記事入力欄:投稿フォームの記事入力欄のラベルを設定します。
クッキー受入確認欄:投稿フォームのクッキー受け入確認のラベルを設定します。
クッキー受入承諾:投稿フォームのクッキー受け入れ承諾ラジオボタンのラベルを設定します。
クッキー受入拒否:投稿フォームのクッキー受け入れ拒否ラジオボタンのラベルを設定します。
入力必須項目案内:投稿フォームに表示する必須入力項目案内を設定します。
コメント文1:投稿フォームのコメント1行目を設定します。
コメント文2:投稿フォームのコメント2行目を設定します。
クッキー名称:クッキーの名称を設定します。
クッキー有効日数[0-365]:クッキーの有効日数を設定します。
特記事項
[記事エリアで入力半角スペースの扱い]
・先頭行が半角スペースのみの場合、その行は削除して記録されます。
・2行目以降で連続した複数の半角スペースは、1個の半角スペースにして記録されます。
[記事エリアで入力した改行の扱い]
・先頭行が改行のみの場合、その行は削除して記録されます。(改行だけの記事は、未記入扱いとなります)
・先頭行から改行のみが連続した場合、それらの行は削除して記録されます。(連続改行だけの記事は、未記入扱いとなります)
・先頭行以降で改行のみが連続した場合、1行の空行(改行のみの行)として記録されます。
・最終行以下の連続した改行は、削除して記録されます。
・インデントしたい場合や先頭行を空行としたい場合は、全角スペースを使って下さい。
[タグの扱い]
・利用可能なタグは、FONT color(文字色)、B(太字)、 U(下線)、I(斜体)、S(抹消線)です。
・記事先頭から見て最短で閉じるタグ優先し、閉じていないタグは通常の文字として記録されます。
・タグ有効/無効を切り換えて記事編集した場合、記事重複チェック機能は働きません。