=================================================================== Future Bulletion Board System 3 -- WWW based bulletin board system with floating threads. Copyright (c) 2001 Mikio Hirabayashi. All rights reserved. =================================================================== ☆はじめに このディレクトリには、WWWベースの掲示板プログラムが納められていま す。この掲示版は、HTTPサーバからCGIを介して呼び出され、処理結果を `HTML 4.01 Strict DTD' に基づくHTMLとして出力します。 この掲示版は、いわゆるフロート式スレッド機能を備えています。投稿さ れた記事にはレスポンスをつけることができ、レスポンスがついた記事は 表示順が最前になります。この掲示版の特徴のひとつは、レスポンスが1 行の短い文字列を連続させる形式であることです。これによって、掲示版 とチャットを合わせたような感覚のコミュニケーションを楽しむことがで きます。また、親展機能によって、少々のセキュリティを持たせたメッセ ージ交換を行うこともできます。 この掲示版は、UNIXとC言語を少しは理解し、WWWの仕組みを少しは知って いるサイト管理者を対象に作られています。この掲示版のもうひとつの、 そして最大の特長は、そのような人にとって管理しやすい掲示版システム であるということです。ログをひとつのファイルに納め、タブ区切りのシ ンプルな形式にしています。したがって、管理や加工、そしてログを他の プログラムに流用することが容易である反面、負荷や速度の面では他のシ ステムに劣ります。しかし、小規模のコミュニティで掲示版を運営する際 には、この掲示版は適したシステムでしょう。 詳しい使い方については、WWWブラウザで help.html を見てください。こ の文書では、インストールと管理の方法を中心に説明します。 ☆動作環境 この掲示版はLinuxシステム上で開発および動作確認をしています。SunOS 等の他のUNIX環境に移植するには、ソースコードを書き換えるなど、多少 の作業が必要となるでしょう。ただし、NFSファイルシステムを介してログ ファイルにアクセスするのは推奨されません。また、procファイルシステ ムをサポートしていない場合、ロック機構が正常に動作しません。WWWサー バには、Apache 1.3系列を使って動作確認しています。 WWWのクライアント(ユーザエージェント)では以下のものが動作確認され ています。他にも、HTML 4.01 が実装されているクライアントなら動作す るはずです。ただし、文字コードはUS-ASCIIおよびEUC-JPを想定している ので、対応していないクライアント(2001年5月現在では NTT Docomo の i-mode がその好例)では利用できません。なお、ビジュアル系ブラウザで は Cascading Style Sheets のレベル1によってページが整形されます。 Linux版 Netscape Communicator 4.73 Windows版 Netscape Communicator 4.73 Macintosh版 Netscape Communicator 4.73 Windows版 Internet Explorer 5.01 Solaris版 HotJava 1.0.2 Linux版 w3m 0.1.6 Linux版 Lynx 2.8.2 ☆インストールと管理 まず、fbbs.c をエディタで開いて、始めの方にある #define 項目を設定 してください。ほとんどの項目はデフォルトのままでよいのですが、 REFPREFIX だけは、そのサイトのURL(このディレクトリのURL)に変更し ておかなければなりません。また、HOMEURL をあなたのサイトのホーム ページにしておくべきでしょう。 #define の FLOATING の値が TRUE の場合、スレッドのフローティング機 能が作動します。FLOATING を FALSE にした場合、フローティング機能が 機能しない普通のスレッド掲示版になります。 次に、このディレクトリをカレントディレクトリにして、シェル上で make を実行してください。コンパイルが成功して、fbbs.cgi という実行ファイ ルが生成されるはずです。 次に、シェル上で make init を実行してください。掲示版が使うログ等の外部ファイルが初期設定され ます。なお、掲示版の運営を開始してから上記の動作を行うとログが初期 化されますのでご注意ください。 それでは、各設定ファイルの機能を以下に示します。 mainlog 掲示版の全投稿のデータ histlog 二重投稿防止用の投稿履歴 pboxlog 親展のデータ banlist 「荒し」の投稿拒否IPリスト passwd スーパーパスワードのリスト style.css スタイルシート 上記の全てのファイルはエディタで編集できるテキストファイルです。特 に mainlog の管理、すなわちスレッドやレスの編集や削除は、Emacs など のエディタや、grep や sed 等のユーティリティを利用して自由に行うこ とができます。mainlog のフィールドの構造については fbbs.c 冒頭のコ メントを御覧ください。banlist には、投稿を拒否する送信元のIPアドレ スを10進数ドット表記で、改行で区切ってリストしてください。passwd には、どのスレッドあるいは親展にも通用する管理パスワードとなる英数 字の文字列を改行で区切ってリストしてください。掲示版が出力するWebペ ージのスタイルについては、style.css に CSS で書かれていますので、自 由に変更して下さい。 これで、あなたのサイトから fbbs.cgi へリンクを張ればもう掲示版が利 用できるはずです。できない場合は、一般的なCGIの設定がうまくいって いない可能性を考えて下さい。なお、HTTPサーバに Apache を使っている 場合、設定ファイル .htaccess も同封されているので、任意に変更もし くは削除して下さい。 fbbs.cgi によって各ログファイルが消されることはまずないと思います が、mainlog だけは折をみて手動でバックアップをとっておくことをお勧 めします。 ログが大きくなりすぎると負荷が大きくなってきますので、その場合はロ グを分割してください。head や tail 等のツールでログを最新のログと 過去ログに分割しておきます。そして、最新のログはmainlog という名前 のままで公開を続け、過去ログは別の名前で保存します。過去ログを公開 したい場合は、#define 項目にある WRITABLE の値を FALSE にし、かつ MAINLOG の値を公開したい過去ログファイルの名前に変更してコンパイル しなおした fbbs.cgi を別の名前で作成しておき、それにリンクを張れば よいでしょう。あるいは過去ログを mainlog にした別のFBBS用ディレク トリで公開する方が簡単かもしれません。 ☆最後に このプログラムは平林幹雄 が作成しました。バグレポ ートや改良案など歓迎します。また、GPL2に基づいて配布するので自由に 使用、変更、再配布を行って構いません。 Version: 3.1.2 Last Modified: Sat, 11 Aug 2001 03:09:08 +0900 ===================================================================