========================================================================== Rr-BBS/web edition ver.1.01a #02 (C) Copyright 2001, TARO ==========================================================================  PHP (ver.4.0.x)用に作成した Web掲示板プログラムです。  まだ未完成な部分もありますが、以下のような特徴があります。  (1) ひとつのPHPプログラムで複数の掲示板を設置できます。  (2) 投稿内容は後から修正/削除ができます。  (3) 画像/音声データ/プログラム等のファイルをアップロードして投稿する    ことができます。  (4) アップロードした画像データを投稿内容として表示できます。  (5) 投稿には返事を書き込むことが可能で、投稿についての返事だけでまとめて    表示できます。いわゆるスレッド型の管理ができます。  (6) 掲示板はPHPという言語で記述されており、ユーザーによるカスタマイズ/    改造もできます。  注意点、制限事項   ・日本語文字コードは EUCのみ対応しています。   ・投稿数や日時によって投稿を自動的に削除する機能はなく、投稿は無制限に    追加されます。   ・メンテナンス機能はほとんど用意されていません。管理者は発言の修正と    削除のみ可能です。それ以外のメンテナンスは管理ファイルをテキストエディ    タで編集することによって可能です。   ・ファイルのアップロード/登録にはシンボリックリンクまたはハードリンク    を使いますので、これらのリンク機能が用意されていない環境では利用でき    ません。  この掲示板は URL http://www.runser.jp/ にて掲示板として運用していますので(2001年8月23日現在)、操作方法やイメー ジが知りたい方はこちらにアクセスしてください。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §1-1 ファイル構成 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  掲示板プログラムは以下のファイルから構成されています。 ++------------------++------++----------------------------------------++ ファイル名 タイプ 説明 ++------------------++------++----------------------------------------++ bbs.php text 掲示板PHPプログラム phplib/bbslib.php text BBS用ライブラリPHPプログラム phplib/html.php text HTMLサポートPHPプログラム ++------------------++------++----------------------------------------++  ※ プログラム中の日本語文字はEUC 形式です。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §1-2 実行環境 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  PHP4が利用できる Webサーバー環境で動作します。  作者は、 Linux kernel 2.2.19 apache 1.3.12 php 4.0.4 にて動作を確認しています。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §1-3 使用、転載、再配付について -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  このプログラムの著作権は作者が保持しています。  以下の条件に従って自由に使用してください。 1. 著作権表示を変更しないこと。 2. このプログラムを使用したことによって生じた損害はまったく保証し ない。 3. 作者はこのプログラムに不備があっても、それを訂正する義務を負わ ない。 4. 収録されているすべてのファイルを一括して配付すること。  感想・障害報告等、作者への連絡は、 NIFTY-Serve PAH01170@nifty.ne.jp e-mail sp-taro@super.win.ne.jp まで、願いします。  電子メールでのお問い合わせは返事が遅れたり、あるいは返信のメールが行かな いこともありますので、予めご了承ください。  転載、再配付については作者の許諾を得る必要はありません。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §2-1 掲示板の設置方法 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  ディレクトリ構成は任意に変更できますが、ここでは以下の構成で運用すること を前提に説明します。 … 1. 任意のディレクトリ | +-- … 2. 任意のディレクトリ | | | +-- … 3. 投稿データ格納ディレクトリ | | +-- … 4. html格納ディレクトリ | +-- index.html … 5. ホームページhtmlファイル | +-- bbs.php … 6. 掲示板プログラム | +-- … 7. PHPプログラム格納用ディレクトリ | +-- bbslib.php … 8. BBS用ライブラリPHPプログラム | +-- html.php … 9. HTMLサポートPHPプログラム | +-- … 10. ファイルダウンロード用ディレクトリ  3 、10 phpプログラムからファイルの読み書き作成ができるよう にパーミッションを設定してください。また、10 配下には動作中にリン ク(設定によりシンボリッンリンクまたはハードリンクを選択)が作成されます。 このリンクは3 に格納されているファイルを指しますので、リンクを使用し てアクセスできるように設定してください。  ファイル/ディレクトリを設置したら、ブラウザで bbs.phpにアクセスしてくだ さい。  最初に管理者設定用のページが表示されますので、ボードタイトル、管理者の名 前、管理者のパスワード、投稿IDを入力して[登録]ボタンをクリックしてください。 管理者パスワードはすべての投稿を削除・修正できますので、大切に管理してくだ さい。投稿IDは 0 を指定しておけばいいでしょう。  現バージョンにはボードタイトル、管理者パスワード等を変更する機能は備わっ ていませんので、後で説明するheadファイルを編集することで対応してください。  基本的にはこの操作で掲示板の使用が可能となります。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §2-2 掲示板の使い方 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  ブラウザからは URL に「http://www.runser.jp/bbs.php」 といった具合に指定 してアクセスします。  ボート名を指定する場合は、URL の最後に ?マーク と bd=<ボート名> ほ追加し ます。例えば、「http://www.runser.jp/bbs.php?bd=test」とします。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §2-3 掲示板の設定/カスタマイズ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  掲示板の設定を変更したりカスタマイズする場合は、bbs.php を編集してくださ い。基本的な設定は bbs.php の先頭箇所に記述してあります。  主な設定の定義、変数を紹介しておきます。 define("URL_SELF" , "bbs.php")  … 掲示板自身のURL/URI define("PHPLIB_PATH" , "phplib/")  … bbslib.php, html.php の格納ディレクトリ define("BDL_HOME_URL" , "./")  … ホームページのURL/URI define("BDL_DATA_DIR", "../data/bbs/")  … 投稿データの格納ディレクトリ(host経由でアクセス define("BDL_OBJ_DIR" , "../data/bbs/")  … アップロードフアイルの格納ディレクトリ(host経由でアクセス define("BDL_OBJ_URL" , "./phplib/bbsobj/")  … ファイルダウンロード用ディレクトリ(http/host共通でアクセス define("BDL_DEFAULT_BOARD" , "runser")  … ボード名を省略した場合に使うデフォルトのボード名 $BdlBoardList = array( BDL_DEFAULT_BOARD => 1, "test" => 1, "temp" => 1, )  … 使用を許可するボード名。 define("BDL_OBJ_LINK", "hard")  … "hard"ならハードリンク、"sym"ならシンボリックリンクを使用する。 define("BDL_PASSWORD_CRYPT", 1)  … 1 ならパスワードを暗号化して保存する。0 なら暗号化しない。  詳しくはプログラムbbs.phpを見てください。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §2-4 データファイルについて -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  投稿データは BDL_DATA_DIR に指定されているディレクトリ配下にボード名のデ ィレクトリを作成して格納されます。ボード名がrunserだとすると、 BDL_DATA_DIR/runser/runser.head BDL_DATA_DIR/runser/runser.body の2つのデータファイルを作成します。どちらも中身はテキスト形式です。  <ボード名>.head のheadファイルには本文内容以外の名前、メール、タイトル等 の情報が保存されます。<ボード名>.body のbodyファイルには本文内容が保存され ます。  内容をテキストエディタで編集することも可能ですが、矛盾した内容を指定する と掲示板が正しく動作しなくなるので注意してください。headファイルは内容を間 違わなければテキストエディタで編集しても問題ありませんが、bodyファイルは ファイルサイズが変わるととheadファイルに記録しているテキスト位置情報が狂う ので手動での編集は困難だと思います。  投稿時にファイルをアップロードした場合、ファイルは BDL_OBJ_DIRで指定した ディレクトリ配下に格納されます。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §2-5 注意・制限事項、その他 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  全文検索用のインデックスを作成するための表示形式を用意しています。URL に http://www.runser.jp/bbs.php?bd=runser+mode=ttlall としてアクセスしてください。  投稿の本文内容を保存してあるbodyファイルのサイズは無制限に増加します。  投稿を削除してもbodyファイルには内容は残りますし、修正しても修正前の内容 も残っています。  headファイルには管理者パスワードや投稿時のパスワードが記録されていますが、 暗号化パスワードと、平文パスワードは混在して使用できます。  headファイルやbodyファイルにアクセスする場合に、排他制御用にロックファイ ルを作成します。ロックファイルは head/bodyファイルの先頭に _lock. が追加さ れたファイル名を使用します。何らかの異常が発生してロックファイルが削除され ずに残ったままになると、掲示板の使用ができなくなります。ロックファイルが一 定時間(デフォルトでは10分)作成されたままの状態で残っているときは自動的に ロックファイルは削除されるはずですが、それでもロックファイルが残っている場 合は手動で削除してください。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= §4-1 変更履歴 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ■ 2001-08-20 ver.1.01a #01 ・仮運用版 ■ 2001-08-23 ver.1.01a #02 ・初回リリース