Manuke Station : Tools & Data : ManuBBS

ManuBBS : Web掲示板CGI

ファイル

説明

概要

ManuBBSはWebサーバー上で掲示板を実行するためのCGIセットです。
CGIはPython(3.8以降)で記述され、データはSQLite3形式で保存されます。
(実行はApache 2.4で動作確認)

おやくそく

ManuBBSはパブリック・ドメイン・ソフトウェアです。
(Creative Commons CC0相当)
ご利用にあたって、いかなる制限もありません。ご自由にお使いください。
ただし、ManuBBSの動作により発生した問題に関しては補償致しかねます。悪しからずご承知おきください。

ディレクトリ/ファイル

ManuBBSのディレクトリ構成は以下の通りです。
(ディレクトリ/ファイルのパーミッションは、Webサーバーの設定により推奨値と異なる場合があります)
bbs/直下のcgiファイルは、Webサーバーから呼び出されるCGIです。
Webサーバーの設定で、これらのCGIを実行可能にしておいてください。
(推奨パーミッション : bbs/ → 705, *.cgi → 705)

bbs/data/以下のdbファイルは、システム設定および投稿されたコメントが格納されます。
このフォルダ内のデータはリモート側から見えないよう、.htaccess等で必ず隠してください。
CGIの実行時にデータの読み書きを行うため、ディレクトリとファイルに読み取りと書き込みの権限が必要です。
(推奨パーミッション : data/ → 707, *.db → 606)
manubbs_data.dbにコメントが格納されているため、上書きされるとコメントが消えてしまいます。
アップロード時に誤って上書きしてしまわないようご注意ください。
パスワードを紛失した場合、manubbs_system.dbを初期ファイルで上書きするとシステムデータがリセットされます。
コメントは残ったままですが、環境設定の値は全て初期値に戻ります。

bbs/manubbs/以下のpyファイルは、CGI実行用Pythonライブラリファイルです。
このスクリプトはリモート側から見えなくても問題ありません。必要に応じて隠しておきましょう。
CGIの実行時にインポート及びキャッシュ作成を行うため、ディレクトリに読み取りと書き込みの権限が必要です。
(推奨パーミッション : manubbslib/ → 707, *.py → 604)

掲示板へのアクセス

ManuBBS掲示板の起点となるのはmanubbs.cgiです。
掲示板へリンクを張る場合には、このCGIを指定してください。

例 : Manuke Station BBS

また、BBS管理ツールのページはmanubbs_admin.cgiです。
このCGIは通常manubbs.cgiからボタンで移動可能ですが、ボタンを隠すこともできます。
隠した場合でも、直接manubbs_admin.cgiを開くことで管理ツールが利用可能です。

BBS管理ツールの使い方

BBS管理ツールのページを開くと、パスワードが要求されます。
設定を行っていない場合、初期パスワードは bbsadmin です。
初回ログイン時には新たなパスワードの変更を要求されるので、速やかに設定しておきましょう。

[コメント管理]ページ

投稿されたコメントの削除や、一括ダウンロード/アップロードが可能です。
[表示]ボタン
チェックを入れたコメントで、非表示状態になっているものを表示状態に戻します。
[非表示]ボタン
チェックを入れたコメントで、表示状態になっているものを非表示状態に変更します。
非表示にされたコメントは、枠だけを残したまま投稿者や内容等が表示されなくなります。
コメントは削除されていないため、「表示」ボタンで再び表示状態に戻すこともできます。
[削除]ボタン
チェックを入れたコメントを削除します。
削除してしまったコメントは元に戻せません。ご注意ください。
[アップロード]ボタン
コメントを一括してJSON形式でアップロードできます。
(フォーマットは「ダウンロード」での書式と同じですが、cidは無視されます)
文字エンコーディングはUTF-8で作成してください。
[ダウンロード]ボタン
コメントを一括してJSON形式でダウンロードできます。
1コメントを格納する連想配列の1次元配列で提供されます。
(コメントのバックアップのため、定期的にダウンロードすることをお勧めします)

例:
{
 {
   "type": "Comment",
   "cid": 1,
   "date": "2001-01-01T00:00:00.000000+00:00",
   "remotehost": "hoge1.example.com(192.168.10.1)",
   "author": "Manuke",
   "subject": "てすと",
   "message": "はろー、わーるど!\n今日はとてもいい天気ですね。",
   "url": "https://quagma.sakura.ne.jp/manuke/index_j.html",
   "stat": "Normal"
 },
 {
   "type": "Comment",
   "cid": 2,
   "date": "2001-02-03T04:05:06.000000+00:00",
   "remotehost": "hoge2.example.com(192.168.10.2)",
   "author": "FooBar",
   "subject": "Test",
   "message": "Hello, World!\nThis is a pen.",
   "url": null,
   "stat": "Hidden"
 }
}
名前 説明
type 文字列 種別("Comment"固定)
cid 整数 コメントID
date 文字列 投稿日(ISO 8601拡張形式)
remotehost 文字列 リモートホスト
author 文字列 投稿者名
subject 文字列 題名
message 文字列 内容("\n"で改行)
url 文字列 URL(指定しないとき : null)
stat 文字列 状態(表示 : "Normal"、非表示 : "Hidden")

[環境設定]ページ

掲示板の各種設定が変更可能です。
[BBSの名前]項目
BBSの名前を指定します。
[BBSへのリンクテキスト]項目
ManuBBS内で、BBSへ戻るリンクのテキストを指定します。
[メインページへのリンクテキスト]項目
ManuBBS内からメインページへ移動するリンクのテキストを指定します。
[メインページのURL]項目
ManuBBSを設置するサイトのメインページのURLを指定します。
(絶対URLもしくはmanubbs_admin.cgiの場所からの相対URL)
空欄のとき、メインページへのリンクは表示されません。
[faviconのURL]項目
ManuBBSに使うfaviconのURLを指定します。
(絶対URLもしくはmanubbs_admin.cgiの場所からの相対URL)
空欄のとき、faviconは指定されなくなります。
[BBS用RSSを作成するか?]項目
ManuBBSの更新時(コメントが投稿された等々)、RSSを作成するかを指定します。
(RSSの名前はmanubbs_rss.xml固定)
[BBS用RSSのディレクトリURL]項目
manubbs_rss.xmlが書き出されるディレクトリの、リモート側から見たURLを指定します。
(絶対URLもしくはmanubbs_admin.cgiの場所からの相対URL)
[BBS用RSSのサーバー内ディレクトリ]項目
manubbs_rss.xmlが書き出されるディレクトリの、サーバー側から見たパスを指定します。
(絶対パスもしくはmanubbs_admin.cgiの場所からの相対パス)
※指定したディレクトリには、CGIからの書き込み権限が必要です。
[コメント投稿時に画像認証を行うか?]項目
コメント投稿時、CAPTCHAによる画像認証を行うかを指定します。
[管理ツールのボタンを表示するか?]項目
ManuBBS掲示板のページ内に、管理ツールへのリンクボタンを表示するかを指定します。
[BBSの背景色]項目
掲示板の背景色を指定します。
[BBSの文字色]項目
掲示板中の通常文字の色(コメント本文等)を指定します。
[無効化された文字色]項目
掲示板中の無効化された文字の色(非表示状態等)を指定します。
[見出しの文字色]項目
掲示板中の見出しの色(BBSの名前、コメントの題名等)を指定します。
[リンクの文字色]項目
掲示板中のリンクの文字色(通常)を指定します。
[訪問済みリンクの文字色]項目
掲示板中のリンクの文字色(訪問済)を指定します。
[ホバー中リンクの文字色]項目
掲示板中のリンクの文字色(マウスホバー中)を指定します。
[アクティブリンクの文字色]項目
掲示板中のリンクの文字色(押下時)を指定します。
[区切り線の色]項目
掲示板中の区切り線の色を指定します。
[保存]ボタン
変更された項目をDBに保存します。
[全て初期値に戻す]ボタン
全ての項目を初期値に戻します。
[色を初期値に戻す]ボタン
項目のうち、色の設定のみを初期値に戻します。

[パスワード変更]ページ

管理者用パスワードが変更可能です。
パスワード長は4文字以上256文字以下です。
使用可能な文字はASCII文字セット(0x20~0x7E)で、大文字と小文字は区別されます。
また、パスワード先頭及び末尾の空白は自動的にカットされます。

更新履歴