2chBBS Admin
システムの概要
Pukiwiki上で、2chBBSという掲示板プラグインを使った掲示板の、GUIによる管理を実現します。2chBBSの強みの簡単に多板化できるという点を捉え、多板化された環境に適するように開発されているため、特に多板化された環境でその効力を発揮します。また、多板化すると輪をかけて面倒になる掲示板管理に関して、スパム対策という観点から、Akismetを使った2chBBSでのスパムフィルタリングの方法も紹介しているので、よかったらついでにご覧下さい。コメントや要望などはこちらへお願いします。ちなみに、現時点でこのプラグインが実装している処理は以下のリストの通りです。
- 掲示板の設置と削除
- スレッドの削除
- コメントの修正と削除
- 設定ファイルの確認
- 設定ファイルのアップロード
- バックアップ用ファイルのダウンロード
動作環境
プログラムが正常に動作するためには、Pukiwikiと2chBBSが稼働ていることの他に、PHP 4.1.0以上とPHPにSQLite2が実装されている必要があります。 (PHP5以降ならば標準でSQLite2は実装されています) これらのバージョン情報は、サーバーにインストールした後にログイン画面で確認することができます。
アップデート情報
現在のバージョンは1.0.1です。アップデートに関するお知らせはこちらをご覧下さい。
ライセンス
ライセンスはGPLv3に従うものとします。従って、適当な編集や再配布はGPLv3に基づき自由であり、使用料はかかりません。
ダウンロードとインストール
文字コードはUTF-8、EUC-JPとSJISですが、EUC-JPとSJISはUTF-8を基にして文字コードの変換を行い、変数等をそれぞれの文字コードに書き換えたものです。また、ダウンロードされたアーカイブを解凍した時のツリー構造と、それぞれのファイルの説明は以下の通りです。(ファイルのパーミッションは全て644です)
- image/
- bbsadmin.png:大きめのロゴ画像
- bbsadmin.png:標準のロゴ画像
- plugin/
- bbsadmin.inc.php:プラグインの本体
- 2chBBS/
- bbsadmin.ini.php:このプラグインの設定ファイル
- conf.txt:掲示板を設置する際のconf.ini.phpのテンプレート
ダウンロード
お使いの環境に合わせてダウンロードして下さい。
- UTF-8版をダウンロード(25.2KB)
- EUC-JP版をダウンロード(24.1KB)
- SJIS版をダウンロード(24.0KB)
インストール
インストールは、ダウンロードされたフォルダの中にあるそれぞれのフォルダが、デフォルトのPukiwikiのファイル名に従っているので、そのままコピーすれば完了です。ただし、掲示板のホームディレクトリが変更されている場合は、ダウンロードされたフォルダ内にある2chBBSというフォルダの中身を、それぞれの環境(掲示板のホームディレクトリ)に合わせてコピーして下さい。その場合、bbsadmin.inc.phpの19〜27行目で定義されている関数plugin_bbsadmin_init()が宣言している、静的変数の設定を書き換える必要があります。例えば、掲示板のデータを格納しているディレクトリの名前がBBSで、それをルートディレクトリにおいている場合、BBS_DIR_HOMEとBBS_HOMEを以下のように書き直します。
- 書き換え前
function plugin_bbsadmin_init() { // 2chBBS のあるディレクトリ define('BBS_DIR_NAME', '2chBBS' ); define('BBS_HOME', PLUGIN_DIR . BBS_DIR_NAME . '/'); // 設定ファイルの読み込み include_once(BBS_HOME . 'bbsadmin.ini.php'); // セッションをスタート session_start(); }
- 書き換え後
function plugin_bbsadmin_init() { // 2chBBS のあるディレクトリ define('BBS_DIR_NAME', 'BBS' ); define('BBS_HOME', '/'); // 設定ファイルの読み込み include_once(BBS_HOME . 'bbsadmin.ini.php'); // セッションをスタート session_start(); }
以上、全てのファイルのコピーが終わったら、<ウィキのルートURL>?cmd=bbsadminと打ち込んで、アクセスして下さい。ライセンスの許諾画面が現れれば、インストールは成功しています。ライセンスに合意すると、ログイン画面が開くので、Pukiwikiの管理パスワードでログインして下さい。ライセンスに合意すると、掲示板のホームディレクトリにライセンスファイル(BBSADMIN.LICENSE.html)がコピーされます。
設定ファイルの編集
必要であれば、設定ファイル(plugin/2chBBS/bbsadmin.ini.php)で定義されている静的変数を環境に合わせて編集します。以下ではいくつか重要なものを取り上げて説明しておきます。
- BBSCAT
掲示板をカテゴリーに分けて管理いている場合に、そのカテゴリー名を設定します。デフォルトでは「掲示板」になっているので、もし違うカテゴリー名(例えばBBS)を設定してるならば、以下のように書き換えます。
define('BBSCAT', 'BBS');
また、カテゴリー名を設定していない場合には空欄にします。
define('BBSCAT', '');
- TO_ENC
掲示板のデータファイルをダウンロードする時のエンコーディングを設定します。デフォルトではSJISになっているので、例えばEUC-JPでダウンロードしたい時は以下のように書き換えます。
define('TO_ENC', 'EUC-JP');
以上の二つの設定ができていれば使えますが、他の変数の設定を変えてカスタマイズすることも当然可能です。必要であれば、設定ファイル内に書かれている説明に添って編集して下さい。
考え得るインストール時の問題
掲示板のホームディレクトリへの書き込みのパーミッションが得られない場合、ライセンスに合意してもライセンスファイルをコピーできないため、何度もライセンス画面が表示されることがあるかもしれません。その場合は、一時的にフォルダのパーミッションを777にしてトライしてみて下さい。
使用方法
操作方法は直感的に分かるようになっていますが、プログラムが何をするのかなど、簡単にまとめます。
初期設定
<ウィキのルートURL>?cmd=bbsadminと打ち込んでアクセスし、ライセンスに合意してログインすると、設定ファイルが間違って編集されていなければ、bbsadminは2chBBSのディレクトリを走査し、掲示板のおかれているであろうと思われるディレクトリを検出、2chBBSのホームディレクトリにデータベース(デフォルトではbbsadmin.sqlite)を作成します。設置している掲示板のフォルダが全て表示されれば、これで初期設定は終わりです。
掲示板の管理
掲示板は、掲示板のデータが保存されているディレクトリパスと、管理用の名前に分けて管理されます。これは、サーバー側でマルチバイト文字が正しく処理できていない場合を考えて、フォルダ名をシングルバイトとした場合の混乱を避ける目的があります。ちなみに、管理名をウィキ上で掲示板をおいているページの名前にしておくと、そのままリンクで飛ぶことができます。
掲示板の設置
新しい掲示板を設置する操作を行うと、入力した掲示板ディレクトリ名(itaNameとする)以下に下にリストするファイルとフォルダが作成されます。
- itaName/ (777)
- .htaccess (644)
- conf.ini.php (644)
- lastsize.txt (666)
- subback.txt (666)
- subject.txt (666)
- dat/ (777)
- .htaccess (644)
ここで作成されるconf.ini.phpは、2chBBSのホームディレクトリにあるconf.txtのコピーです。また、.htaccessファイルの記述は以下のようになっています。
Order allow,deny Deny from all
掲示板の削除
掲示板の削除の操作が行われると、前のセクションで述べた、掲示板の設置の操作を行ったときに作成されるファイルとフォルダを全て消去します。同時に、データベースレコードもアップデートするようになっています。バックアップが必要な場合は、データファイルをダウンロードできるようにしているので、ローカルで保存して下さい。
スレッドの削除
スレッドの削除の操作を行うと、スレッドがおかれている掲示板のフォルダのデータ保存用フォルダ(デフォルトではdat/)にあるスレッドのデータファイル(*****.txt)を消去し、サブジェクトファイル(subject.txt)とバックアップファイル(subback.txt)のデータを書き換えます。。同時に、データベースレコードもアップデートするようになっています。バックアップが必要な場合は、データファイルをダウンロードできるようにしているので、ローカルで保存して下さい。
コメントの修正と削除
コメントの修正の操作を行うと、選択されたスレッドのレスを書き換えることができます。この時にタイムスタンプが押されるようになっています。また、削除の操作を行うと、削除コメントとタイムスタンプが書き込まれます。(設定ファイルで変更可能)ただし、これらの操作は元に戻すことができないので、バックアップが必要な場合は、データファイルをダウンロードできるようにしているので、ローカルで保存して下さい。
設定ファイルのアップロードと表示
掲示板の設定ファイルをアップロードできるようになっています。アップロードされたファイルは、itaName/conf.inc.phpとして保存され、古い設定ファイルはitaName/conf.inc.php~として保存されます。もし新しい設定ファイルでエラーが起きた時は、FTPで接続するなどして、バックアップファイルを戻して下さい。また、itaName/conf.inc.phpを読み込んで、現在の設定を確認することも出来ます。
改良版
このサイト用の改良版2chBBSに対応した2chBBS Admin
ヘッドラインの表示を編集する機能を追加しています。改良版2chBBSを導入しなくても、ヘッドラインはitaName/headline.txtという名前で保存されているので、それを出力することで表示できます。例えば、plugin_bbs_init()関数内で次の様な記述を追加します。
$fp = fopen(PLUGIN_DIR . $itaName . '/headline.txt', 'r'); define( 'HEADLINE_TITLE', fgets($fp) ); fclose($fp);
そして、2chBBS/display.inc.phpの適当な場所で、以下のようにして出力します。
$str .= '<div id="bbs_headline">' . HEADLINE_TITLE . '</div>';
インストールは、環境に合わせて以下のファイルをダウンロードし、解凍された<文字コード>.bbsadmin.inc.phpというファイルを、bbsadmin.inc.phpという名前でPukiwikiのプラグインフォルダに上書きしてコピーして下さい。
- UTF-8版をダウンロード(8.0KB)
- EUC-JP版をダウンロード(7.5KB)
- SJIS版をダウンロード(7.5KB)