最新リリースはパッケージ 0003b (2004/12/30)です。★更新履歴
≫はじめに
doBOARDは、掲示板システムとして(たぶん)最も一般的な時系列型掲示板スクリプトです。
CGI 初心者の方が初めて設置してみることを念頭に置きつつも、かゆい所に手が届くおもいやり高機能満載です。
*設置可能サーバはUNIX(LINUX)+Apache,Windows+ANHTTPDなどです。
*Perl5以上必須です。
CGI 初心者の方が初めて設置してみることを念頭に置きつつも、かゆい所に手が届くおもいやり高機能満載です。
*設置可能サーバはUNIX(LINUX)+Apache,Windows+ANHTTPDなどです。
*Perl5以上必須です。
≫目次
≫doBOARDの概要
●特徴的なトコロ
- 投稿時間によって順に記事がならぶ時系列型システムです。<時系列式>
- 最新の投稿が先頭位置にきます。
- 記事が一定数を超えるか一定サイズを超えると自動的に古い記事から削除されるので管理が楽。
- 管理者のみ投稿可能な管理者モードあり。
- すっきりシンプル。
- 配色はかなり細かく設定可能
- 記事数や記事サイズは任意で設定可能です。
- 投稿ごとに本文の文字色を任意に設定できます。
- 記事中のURLは自動リンクされます。
- 検索エンジンのキーワード検索に自動リンクできます。
- ファイルロック機能でログの消失を防ぎます。
- ナマエ欄の空欄ダミーやタイトルの空欄ダミー設定可能。
- 投稿者による記事の削除が可能
- 匿名モードでの運営など投稿者情報の取得/表示モードを簡単に設定できます。
- 特定ホストからの書込み禁止
- 2重書き込み防止機能
- タグの禁止
- 記事の投稿サイズ制限機能
- sendmailにより掲示板管理者へ投稿確認メールを送信します。
- 簡易トリップ機能によりなりすましを防止できます。
- gzip対応
- ナマエ欄、メール欄をクッキーに保存します。
- ハートマーク♥(♥)などに対応
≫ダウンロード
doBOARD はフリーウェアです。
スクリプト利用規定に同意の上、無料でお使い頂けます。
ただし、ダウンロードには、bayamateへの登録が必要です。
商用利用や代行設置には事業者登録が必要です。
≫設置
ダウンロードし、任意のディレクトリに解凍すると、以下のファイル(/ディレクトリ/)ができます。
パーミションの設定は、設置サーバのマニュアルやCGI設置手引書のようなドキュメントが用意されていると思いますのでそちらを熟読して行ってください。サーバによってクセの多い部分であり、初心者が設置時に泣かされることが多い部分でもあります。
以下の設定は一般的なサーバでの一例です。
もし、サーバのマニュアルやCGI設置まわりの解説が見つからない上、パーミションについて上記設定が、うまくいかないようであれば
[705] → [755]
[604] → [644]
[707] → [777]
に設定してみてください。
サーバによっては [707] に設定する所が [705] で動いたりもします。
次に、
db.cgi
の先頭1行目のPerlパスを設置するサーバにあわせて変更します(変更しなくても良い場合もあります)。
#!/usr/bin/perl
統計取ったことはないですがたいていは「#!/usr/local/bin/perl」かと。
そして、
dbi.pl
の中身を環境に合わせて編集します。
デフォルトの設置構成であれば管理パスワードの変更のみで、ひとまず動くと思います。色んなカスタマイズは後でも大丈夫!!
さて、無事に設置できたら、
http://設置パス/db.cgi にアクセスして見ましょう。
うまく表示できたら投稿テストや削除のテストを行って正常に実行できることを確認してみましょう。
また、dbi.pl の中のファイル名やディレクトリパスの設定を編集する時は、慎重に確認しながら変更した方がいいかもしれません。当然設置ディレクトリ構成も変更しつつですが。
ちなみに、スクリプトの文字コードを変更したり、ファイル名を変更すると正常な動作が行えなくなります。ご注意願います。
- dbi.pl --- 設定ファイル (掲示板の設定はこのファイルで)
- db.cgi --- データ表示スクリプト (実行するのはこのスクリプト)
- index.html --- ディレクトリ名で終わるURLで掲示板にアクセスするためのダミーファイル(アップしなくてもOK)。
- /lib/ --- ライブラリディレクトリ(中身は↓)
- cookie.pl --- クッキー処理
- error.pl --- エラー処理
- filelock.pl ---ファイルロック処理<from http://www.din.or.jp/~ohzaki/perl.htm>
- gdatas.pl --- 様々な情報取得処理
- gui.pl --- ユーザ情報取得処理
- html_header.pl --- HTMLヘッダあたりの出力
- http_header.pl --- HTTPヘッダ出力
- jcode.pl --- 文字コード変換処理<from http://www.srekcah.org/jcode/index.html>
- jua.pl --- HTTP_USER_AGENT判別処理
- lnk.pl --- 記事中のURLリンクをリダイレクト処理
- page_ctrl.pl --- 記事表示のページ処理
- pdatas.pl --- 投稿データ成形処理
- put_log.pl --- ログ出力
- rm.pl --- 削除処理
- search.pl --- 検索処理
- sendmail.pl --- メール送信処理
- trip.pl --- トリップ処理<from 2ch>
- write.pl --- 書き込み処理
- /dat/ --- 基本的にはログディレクトリ(作成の必要があるのは以下)
- db.lck --- ファイルロック用ファイル(ロック中は一時的に別名になります)
- db_log.cgi --- ログファイル
- /ReadMe/ --- 利用規定や解説書などドキュメント収録用(アップロードの必要ナシ)
●設置ディレクトリ構成例(等幅フォントでないとずれます(T.T))
/public_html/─┼---index.html
│
│
┼---/cgi-bin/---/db/------┼---dbi.pl [604]
[705] [705] │ db.cgi [705]
│ ( index.html [604] )
┼---/dat/ [707] ---- db.lck [606]
│ db_log.cgi [606]
┼---/lib/ [705] ---- cookie.pl [604]
error.pl [604]
:
以下このフォルダ内全て[604]
[xxx]の数字はパーミション値
この他、タイトル画像や背景画像は任意の位置に置き、設定ファイルでその位置を指定すること。
|
パーミションの設定は、設置サーバのマニュアルやCGI設置手引書のようなドキュメントが用意されていると思いますのでそちらを熟読して行ってください。サーバによってクセの多い部分であり、初心者が設置時に泣かされることが多い部分でもあります。
以下の設定は一般的なサーバでの一例です。
もし、サーバのマニュアルやCGI設置まわりの解説が見つからない上、パーミションについて上記設定が、うまくいかないようであれば
[705] → [755]
[604] → [644]
[707] → [777]
に設定してみてください。
サーバによっては [707] に設定する所が [705] で動いたりもします。
次に、
db.cgi
の先頭1行目のPerlパスを設置するサーバにあわせて変更します(変更しなくても良い場合もあります)。
#!/usr/bin/perl
統計取ったことはないですがたいていは「#!/usr/local/bin/perl」かと。
そして、
dbi.pl
の中身を環境に合わせて編集します。
デフォルトの設置構成であれば管理パスワードの変更のみで、ひとまず動くと思います。色んなカスタマイズは後でも大丈夫!!
さて、無事に設置できたら、
http://設置パス/db.cgi にアクセスして見ましょう。
うまく表示できたら投稿テストや削除のテストを行って正常に実行できることを確認してみましょう。
また、dbi.pl の中のファイル名やディレクトリパスの設定を編集する時は、慎重に確認しながら変更した方がいいかもしれません。当然設置ディレクトリ構成も変更しつつですが。
ちなみに、スクリプトの文字コードを変更したり、ファイル名を変更すると正常な動作が行えなくなります。ご注意願います。
≫記事の削除について
記事を削除する時は、記事本文の右下に表示される「NoX □削除」(Xは数字)をチェックしてページ右下にあるフォームに投稿時に入力した削除キーを入力して実行ボタンを押します。
削除キーが管理者パスワードであれば全ての記事の削除が可能です。
削除キーが管理者パスワードであれば全ての記事の削除が可能です。
≫匿名モードについて
doBOARDは匿名モードでの運用が簡単に出来ます。
しかし、doBOARDの匿名モードは「スクリプトでは情報を残さない簡易匿名モード」というレベルです。なぜなら、ウェブサーバにはログが残るからです。サーバの設定まで変えられない環境で運営している方(多くのレンタルサーバ)の場合、100%匿名をうたうことはできません。これを前提として、doBOARD自体では投稿者情報を取得しない状態を匿名モードと呼びます。
匿名モードでは、投稿者にとって身元がばれにくいので投稿しやすくなります。また、本音の投稿が期待できます。
しかし、身元がばれにくいのをいいことに、無意味な投稿を繰り返したり、根拠のない誹謗中傷やプライバシーの侵害ともなるような投稿が発生する危険性があります。
これらの悪意ある投稿を管理するのは、掲示板の管理者です。投稿者ではない点に注意しましょう。最悪訴えられます。
匿名モードに近いスタイルで、「投稿者情報は取得するが表示はしない」という超簡易匿名モードもあります。
通常は匿名モードで運用し、荒らしがおきたり問題が発生した時だけ情報を取得し、表示は出来るだけさけると言うのが管理者にも利用者にも優しいかと思います。
しかし、doBOARDの匿名モードは「スクリプトでは情報を残さない簡易匿名モード」というレベルです。なぜなら、ウェブサーバにはログが残るからです。サーバの設定まで変えられない環境で運営している方(多くのレンタルサーバ)の場合、100%匿名をうたうことはできません。これを前提として、doBOARD自体では投稿者情報を取得しない状態を匿名モードと呼びます。
匿名モードでは、投稿者にとって身元がばれにくいので投稿しやすくなります。また、本音の投稿が期待できます。
しかし、身元がばれにくいのをいいことに、無意味な投稿を繰り返したり、根拠のない誹謗中傷やプライバシーの侵害ともなるような投稿が発生する危険性があります。
これらの悪意ある投稿を管理するのは、掲示板の管理者です。投稿者ではない点に注意しましょう。最悪訴えられます。
匿名モードに近いスタイルで、「投稿者情報は取得するが表示はしない」という超簡易匿名モードもあります。
通常は匿名モードで運用し、荒らしがおきたり問題が発生した時だけ情報を取得し、表示は出来るだけさけると言うのが管理者にも利用者にも優しいかと思います。
≫トリップ機能について
doBOARDを匿名モードで運用する場合、投稿者名が人物を特定する鍵になりますが、同一名であったり故意に他人を偽ったりということがあり得ます。いわゆるなりすましなんですが、これを防止するための機能がトリップです。言い換えると、投稿者が自分の投稿であることを証明するための機能です。
使い方は、投稿する際に名前欄に「なまえ#password」という文法で本来の名前のうしろに半角#(シャープ)につづけてパスワードを記入します。すると、パスワード部分がユニークな文字列に変換されます。
例えば、「TEST#testdesu」は「TEST◆qtaSRUNg」となります。
また、名前欄に直接「TEST◆qtaSRUNg」を入力しても「TEST◇qtaSRUNg」となります。password 部分は英数のみではなく全角文字でも半角文字でも何でも構いませんが、なまえと password を区切る#(シャープ)は半角でないとダメで、password として有効なのは8バイト目(半角で8文字)までとなります。
この機能によって、投稿者が自分になりすまされるのを防止することができます。パスワードの変換についてはサーバの crypt 関数に依存します。
使い方は、投稿する際に名前欄に「なまえ#password」という文法で本来の名前のうしろに半角#(シャープ)につづけてパスワードを記入します。すると、パスワード部分がユニークな文字列に変換されます。
例えば、「TEST#testdesu」は「TEST◆qtaSRUNg」となります。
また、名前欄に直接「TEST◆qtaSRUNg」を入力しても「TEST◇qtaSRUNg」となります。password 部分は英数のみではなく全角文字でも半角文字でも何でも構いませんが、なまえと password を区切る#(シャープ)は半角でないとダメで、password として有効なのは8バイト目(半角で8文字)までとなります。
この機能によって、投稿者が自分になりすまされるのを防止することができます。パスワードの変換についてはサーバの crypt 関数に依存します。