無料(フリー)掲示板CGIプログラムとwebツール

HitBBS 初めに お約束 設置の基本 見本 DL&更新情報

詳細 取説

V7.1-マニュアル

インストール・アンインストール

インストールは、top.cgiをエディタで開き、20行目ほどの所にある
「# $r = "$_->{dir_pl}/do-setup.pl"; require $r; # セットアップ」
の行を見つけ、頭の#を削除します。
アップロードして、top.cgiにブラウザでアクセスすると実行します。
「セットアップが完了しました。」と表示されたら今度は、top.cgiの#を元に戻して再アップロードします。
作成された各ディレクトリのパーミッションを確認して完了です。

アンインストールは、不要なファイルやディレクトリを削除するだけです。

管理画面

管理画面へログインするには、top.cgi?admin=△△△へブラウザからアクセスします(△△△の所には管理画面へ入るログインパスワード)。

※パスワード無しの時は、ログイン画面が現れます。

◎スレッドダウンロードフォーム
スレッドを一つダウンロードできます。

◎スレッドアップロードフォーム
スレッドを一つアップロードできます。既存のスレッドは上書きされます。

◎スレッド削除フォーム
スレッドを複数まとめて削除できます。
入力例:10(10.htmlのスレッドが削除される)
入力例:50-60(50.htmlから60.htmlのスレッドが削除される。)

◎スレッド移動フォーム
スレッドを別のディレクトリへ移動します。
top.cgiの有るディレクトリへ移動先ディレクトリが作られます。
移動先に同じ番号のスレッドが存在する場合はスキップします。

◎増えすぎたスレッドのスレッド番号の小さい順に削除する
管理画面を使わなくても、v7_data.plの初期設定のスレッド番号の最小値を変更し、top.cgiにブラウザでアクセスしページを表示するだけで出来ます。

※スレッドを削除して、スレッド番号の最小値から上にスレッドが無くなったら、それに合わせて初期設定のスレッド番号の最小値も変更して下さい。

管理の仕方

日常は、ログの確認と、エラーの発生時や投稿に失敗して残った一時ファイルの削除だけです。

◎コメント編集
スレッドをダウンロードして編集します。記事を削除して最後のレス番号が変わったら、一番上の<!-- -->の、e□□の数字部分(□の所)を最後のレス番号に変更します。
なお、スレッドのHTMLファイルに限り、Windowsのメモ帳でも編集が可能です。

◎不要なスレッドを削除
スレッドとJPGディレクトリ内の同スレッド番号のディレクトリを削除するだけです。

◎スレッドクローズ
名前欄に「終了△△△」(△△△はログインパスワード)を入力し、投稿するとクローズします。
ファイルサイズが制限値を超えてもクローズします。

◎投稿の一時停止
top.cgiの有るディレクトリに「0」の名前のディレクトリを作成すると、top.cgiにアクセスや投稿をしようとすると「只今、準備中です。」が表示されます。
FTPアップロードソフトを使って掲示板の管理や、プログラムの更新等をする場合に投稿をストップできます。
スレッドタイトルの一覧ページも表示されなくなりますが、スレッドは表示できます。
付属の管理画面を使って管理する時は排他ロックが動作するので不要です。

エラー画面について

セットアップ時のエラー番号について

10番台
作成するディレクトリが既に存在します。 詳細設定の作成ディレクトリのパスやFTPアップロードソフトなどでアップロード先を確認します。
100番台
ディレクトリの作成そのものに失敗しました。 パーミッションで制限されていないか、作成できない場所を指定していないか確認します。
110番台
ファイルロックテスト失敗。 排他制御(ファイルロック)に失敗した事を意味します。
200番台
ファイル作成テスト失敗。 セキュリティーで作成権限が無いとか、ハーミッションで制限されていないか確認します。

他のエラーについて
エラーログにはエラー発生個所や幾つかの環境変数等が記録されます、見ると原因が分かるかもしれません。

ログについて

ログが残るのは、投稿した時です。

ログが最初の一回のみで書き込まれない場合は、パーミッションを変えて試してください。
書き込めたら、その値でdo-start.plの「$logPermission」を設定しなおす必要があります(8進法指定です)。

ログ内容

[Time]
日時; プロセスID; time関数値
[Host]
ホスト(IPアドレス)
[UA]
ユーザーエージェント
[Refer]
リファラ
[ENV]
複数の環境変数
[POSI]
変数 フォームポジション
[SIZE]
アップロードファイルサイズ
[FiNo]
ファイル番号。掲示板V7では、仕様上、スレッド番号・ファイル番号・インデックスの並び順番号が同じ値になります。
[TiNo]
インデックスの並び順番号
[ReNo]
返信の並び順番号
[UpFile]
アップロードした時のファイル名
[JPEG]
公開する画像のファイル名
[IMG_Size]
画像の寸法(幅 x 高)
[SAM_Size]
サムネイルの寸法(幅 x 高)
[URL]
スレッドのURL
[Cookie]
クッキー。他でセットされたクッキーやサーバでセットされたものまで、送られてきたもの全部記録します。
[SUB]
サブルーチン追跡ログ
[QUERY]
環境変数のクエリ
[REQU]
環境変数のREQUEST_URI
[Error]
エラーの内容

※毎回すべて記録される訳ではありません。

ディレクトリ構造(デフォルト値)

これはデフォルト値でセットアップした場合のディレクトリ構造です。

──┬ skin ──────┬ skin.pl
    │                  └ skin2.pl
    ├ v7_bbs ─────┬ index.html
    │                  └ スレッド.html
    ├ v7_jpg ─────┬ index.html
    │                  └ (画像ディレクトリ)
    ├ v7_log ─────┬ index.html
    │                  └ 各種ログ
    ├ v7_tmp ─────┬ index.html
    │                  └ (一時ファイル)
    │
    ├ spam_log.cgi(スパム規制に引っかかったら作られるログ。)
    └ 「CGIスクリプト等」

注意

この掲示板は、スレッドの数やレスの数などが増え過ぎても表示が遅くなるだけで特に問題なく動いてしまうため、掲示板が肥大化してしまいます。
設定の制限値(MAX値等)を大きくし過ぎない様に注意して下さい。

肥大化するとFTPアップロードソフトでは管理不能になるので付属の管理画面を使用して下さい。


詳細 取説

V7.1-設定値

初期の設定は見本と同じになっています、環境に合わせて変更して下さい。

文字コードはUTF-8ボム無しになっています。

top.cgi,receive.cgi

実行ファイル。

  • #!/usr/bin/perl
    perlの場所を示すもので、このCGIファイルはperlで処理しろと言う意味になります。
    値はサーバに依存します、アップロードするサーバで指定されているので確認して下さい。

  • $set_data
    初期設定のv7_data.plの場所を設定します。
    デフォルト値は、top.cgiと同じ場所にある事を示しています、v7_data.plを別のディレクトリに移動させていないなら、そのままでいいです。

  • $adminPassword
    管理画面へ入るログインパスワードです。
    デフォルト値でxyzになっています、この値は必ず変更して下さい。変更しないと簡単に掲示板を潰されます。値はハイフン( - )とアンダーバー( _ )を含む半角英数字です。

  • # $r = "$_->{dir_pl}/do-setup.pl"; require $r; # セットアップ
    この行は、セットアップを実行させる為の行です。
    先頭の「#」を削除してアップロードするとブラウザでwebからアクセスした時にセットアップが実行されます。
    セットアップ実行後には「#」を付けて元に戻して再度アップロード(上書き)して下さい。

v7_data.pl

変更可能な部分は「# 初期設定 ここから」と書かれている行から「# 初期設定 ここまで」と書かれている行までの部分です。

クッキーのパッチ値
  • $_->{Cookie_pat}
    クッキーのパッチ値です。 通常、掲示板を入れるURLのディレクトリ部分を「path= ○○(丸の所にディレクトリ)」で設定するか何も設定しない(空文字)です。

作成ディレクトリパス(最後に「/(スラッシュ)」を入れない)
  • $_->{dir_html}
    掲示板のHTML(スレッド)が収まるディレクトリを絶対パスかCGIを起点とした相対パスで設定します。

  • $_->{dir_jpg}
    アップロードされた画像が保存される場所を設定します。

  • $_->{dir_log}
    ログが保存されるディレクトリを設定します。

  • $_->{dir_tmp}
    テンポラリ、一時ファイルが作られる場所です。

URL(最後に「/(スラッシュ)」を入れない)
  • $_->{url_html_dir}
    スレッドのディレクトリまでアクセスするURLを設定します。通常「localhost」のままでOKです、その後のパスは、貴方のサイトに合わせて変更して下さい。

  • $_->{url_jpg_dir}
    アップロードされた画像が保存されるディレクトリのURLを設定します。

  • $_->{url_cgi}
    top.cgiにアクセスするURLを設定します。

ImageMagick
  • $_->{x_convert}
    convertする実行パスを設定します。

  • $_->{x_option}
    画像の色合いが変化してしまう時にのみ、それを調整するオプションを設定出来ます。通常は空文字です。

-----掲示板の設定-----

  • $_->{bbs_titele}
    掲示板の名前を設定します。

  • $_->{s_maxhtml}
    スレッドHTMLファイル1つあたりの許容量で、これを超えるとレスが書き込めなくなります。単位はバイトです。

  • $_->{s_maxcome}
    コメント文字の許容量で、単位はバイトです。これを超えた場合はエラー画面が表示されます。

  • $_->{s_maxtnm}
    コメント以外の文字の許容量です。

  • $_->{s_maxres}
    一スレッドの画像数最大値です。これに達すると画像がアップロードできなくなります。

  • $_->{s_minthrno}
    スレッド番号の最小値、1以上で設定。
    この値より小さい番号のスレッドは消えて無くなります、慎重に行って下さい。

  • $_->{s_maxthrno}
    作成できるスレッド番号の最大値、最大値と最小値の差がスレッド保持可能数になります。
    この値に達するとスレッドが立てられなくなります。
    この値より大きな番号を持つスレッドは、一覧ページに表示されなくなるので、後で小さく変更する時は気を付けて下さい。

  • $_->{s_maxindex}
    一覧ページに表示されるスレッドタイトルのインデックスの表示数です。一ページで表示されない物は分割されます。

si-skin.pl

投稿完了画面のHTMLのヘッダー部分、ヒアドキュメントになっています。

変更可能なのは、「return <<ECD;」の行から、「ECD」の行までです、これらの行は削除しないで下さい。

書き方は、<title>$_->{bbs_titele}</title>で変数が入っているだけで普通のHTMLと同じです。

spam.pl

スパムやアクセス規制を登録するファイルです。登録部分は、ヒアドキュメントになっています。

HTMLファイル(スレッド)ページの閲覧時には効果ありません。

$log_spam
スパムのログファイルの場所を設定します。
文字規制はエラーログに記録され、このログには記録されません。
ログは、日付・リモートアドレス・規制内容、となっています。
IPアドレス規制
「### IPアドレス規制ここから ###」の行から「### ここまで ###」の行の間に挟みます。
「123.456.」このように減らして入れると、123.456.0.0~123.456.255.255まで規制されます。
※アドレス一塊の数字は255までしかありません。
クッキー規制
「### クッキー規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
V7ではクライアントの投稿時のIDの数字がクッキーに登録されます、投稿ログを見る事で確認できます。
リファラ規制
「### リファラ規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
UA(ユーザーエージェント)規制
「### UA規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
文字規制
「### 文字規制ここから ###」の行から「### ここまで ###」の行の間に一つずつ挟みます。
半角スペース及び全角スペースは指定できません。

skin_thread.pl

スレッドのスキンです。ヒアドキュメントになっています。内部に使われている変数は好みにより省く事も出来ます。

インサートスキン
sub there_lain
「# インサートスキン画像あり」と「# インサートスキン画像無し」の二つがあります。

画像ありの方には「<!-- P -->」を最初にかならず入れて下さい、画像無しの方には入れないで下さい。

「<hr id="r$_->{res_no}" />」は「>>レス番号」のコメント内リンクでの移動先として使用しています。

ヒアドキュメント開始:$skinre = <<INSA;
ヒアドキュメント終了:INSA

  • $imag
    元サイズ画像名

  • $imagt
    サムネイル名

  • $_->{IMG_width}
    画像の寸法(幅)

  • $_->{IMG_height}
    画像の寸法(高さ)

  • $_->{SAM_width}
    サムネイルの寸法(幅)

  • $_->{SAM_height}
    サムネイルの寸法(高さ)

  • $_->{res_no}
    投稿の並び順の番号

  • $_->{NAME}
    投稿者名

  • $_->{spri_time}
    日時

  • $_->{BBSI}
    スレッド番号

  • $_->{FILE}
    アップロード時のファイル名

  • $_->{COMMENT}
    コメント

  • $_->{url_html_dir}
    初期設定で設定された内容

スレッドページ
sub skin_there
スレッド作成時の雛型となります。

ヒアドキュメント開始:return <<ECD;
ヒアドキュメント終了:ECD

  • $_->{title_no}
    スレッド番号

  • $_->{TITLE}
    スレッドタイトル

  • $skinre
    コメント等の一覧

  • $_->{bbs_titele}
    初期設定で設定された内容

skin_top.pl

top.cgiにアクセスすると表示されるタイトルの一覧ページのスキン。 ヒアドキュメントになっています。

インサートスキン
sub titel_lain

ヒアドキュメント開始:my $ret = <<ECD;
ヒアドキュメント終了:ECD

  • $_->{IMG_width}
    画像の寸法(幅)

  • $_->{IMG_height}
    画像の寸法(高さ)

  • $_->{SAM_width}
    サムネイルの寸法(幅)

  • $_->{SAM_height}
    サムネイルの寸法(高さ)

  • $y
    スレッド番号

  • $t
    スレッドのタイトル

  • $e
    投稿数

  • $d
    スレッドが立った日

  • $imagt
    画像サムネイル名

  • $_->{url_html_dir}
    初期設定で設定された内容

スレッドの一覧ページ
sub skin_top_html
# ----- タイトル一覧(トップ)ページ ----

ヒアドキュメント開始:return <<ERT;
ヒアドキュメント終了:ERT

  • $skinre
    レスのインサートスキン

  • $_->{bbs_titele}
    初期設定の掲示板の名前

  • $_->{title_no}
    タイトルの並び順番号(V7ではタイトルの並び順番号とスレッド番号は同じになります)

  • $_->{TITLE}
    投稿スレッドのタイトル

  • $_->{BBSI}
    ファイル番号(スレッド番号)返信時にフォームで送られます。


詳細 取説

HitBBS 初めに お約束 設置の基本 見本 DL&更新情報


HitBBS (c)
 管理人:ひとちゃん