概要と動作デモ
画像アップロード機能のついたCGI掲示板スクリプトです。アップロードされた画像のサムネイル画像を作成します。従って、軽く、高速なレンダリングを期待できると思います。サムネイル画像の作成には、GDモジュールもしくはPerlMagickのどちらかが必要です。その他、
- 1世代の返信ができます。親記事にツリー状にぶら下げて表示します。
- ホスト名やIPアドレス、「NGワード」によって投稿を規制できます。
- 簡単ではありますが、投稿者自身が記事を削除する機能があります。
- 記事を省いて、画像だけを一覧で見せる機能があります。
- 同一ホストからの一定時間内の連続投稿を規制する機能があります。
- 投稿時にパスワードを求め、投稿を制限することができます。
また開発にあたり、1998特報!!倶楽部のimgboardを参考にさせていただきました。
動作デモをご用意しました。自由にテスト投稿することができます。適当な画像をお持ちでない方は、テスト用画像(60KB)を使ってみてください。
動作環境
スクリプトの動作には以下のものが必要です。
- Perl5以上およびPerl5標準モジュール群
- 画像変換用のPerlモジュール、以下のうちどちらか
- GD
- libgd 2.0.1以上
- Image::Magick (PerlMagick)
- ImageMagick
- GD
- その他のPerlモジュール
- Fcntl
- IO::File
- Jcode (無くても一応動きます)
- sendmail (メールによる通知機能を使う場合)
- GDモジュール
- libgdをPerlから利用するためのインターフェイスです。GIF画像のサムネイルを作成するにはバージョン2.15以上が必要です。
- libgd
- 様々な画像作成を行うためのグラフィックライブラリです。GDモジュールが導入されていればこれも導入されているはずですが、最低でもバージョン2.0.1以上、GIF画像のサムネイルを作成するには2.0.28以上が必要です。
- Image::Magickモジュール
- ImageMagickをPerlから利用するためのインターフェイスです。PerlMagickとも呼ばれます。
- ImageMagick
- 様々な画像処理を行うためのグラフィックツールです。PerlMagickが導入されていればこれも導入されているはずです。
- Jcodeモジュール
- jcode.plと同様に、日本語の文字コードの変換等を行います。無くても一応は動作しますが、あった方が良いです。ただし、メールによる記事通知機能を使う場合は必須です。
FcntlおよびIO::Fileは、非標準ながらほとんどの環境に導入されている思います。問題はJcode、GDおよびImage::Magickで、これらは逆に多くの環境に導入されていないと思います。プロバイダのサポート等にご確認ください。
利用許諾
いわゆるX11ライセンス(MITライセンス)の下で自由にご利用いただけます。
利用許諾はバージョン1.6からようやく「明記」しました。ほったらかしにしていてすみませんでした。
ダウンロード
スクリプトの文字コードはShift_JIS、改行コードはCR+LF(Windows用)です。Windows以外の環境の方は、適宜改行コードを変更してください。
- bbs-upload-1-7.zip - バージョン1.7 (2007-05-06)
申し訳ありませんが、バージョン1.3以降のデータファイルは形式を変更したため、バージョン1.2以前との互換性がありません。
設置方法
スクリプト設置の基礎知識も併せてご覧ください。
初期設定
"bbs.cgi"をテキストエディタで開き、1行目のperlのパスをサーバに合わせて書き換えます。
続いて、「初期設定」のセクションを必要に応じて書き換えます。管理用パスワード($PASSWORD)は必ず変更してください。
投稿容量の上限($POST_MAX_KB)と記事保存数($MSSG_MAX)も、サーバのディスク容量に合わせて変更する必要があります。記事1件あたり最大で、$POST_MAX_KBに設定した値(KB単位)+αのディスク容量を消費すると考えてください。例えば以下のように設定した場合、300KB×100件で最大約30MB+αのディスク容量を消費します。αはサムネイルや投稿されたテキストの容量で、その大きさは不定です。最初は少し余裕を見て設定してください。
$POST_MAX_KB = 300;
$MSSG_MAX = 100;
そのほかの項目も、スクリプト内の説明に従い、必要に応じて設定を変更してください。
サーバに転送
デフォルトでは以下のような配置を想定しています。括弧内は設定すべきパーミッションです。FTPクライアントなどを使って、すべてのファイルをアスキーモード(テキストモード)で転送し、パーミッションを変更してください。"data"ディレクトリはアーカイブに含まれていませんので、空のディレクトリを別途作成し、その中に"bbs.dat.cgi"を入れてください。
- cgi-bin
- data
- bbs.dat.cgi
- bbs.cgi
- bbs.js
- bbs.css
- data
ファイル等 | パーミション | 解説 |
---|---|---|
cgi-bin | 701 | 任意の設置ディレクトリ |
data | 703 | データディレクトリ |
data.dat.cgi | 606 | データファイル |
bbs.cgi | 705 | スクリプト本体 |
bbs.js | 外部JavaScriptファイル | |
bbs.css | 外部スタイルシートファイル |
"bbs.cgi"にブラウザでアクセスしてください。
更新履歴
更新日 | バージョン | 更新内容 |
---|---|---|
2007-05-06 | 1.7 |
|
2007-04-18 | 1.6 |
|
2006-12-22 | 1.5 |
|
2005-03-24 | 1.4 |
|
2005-03-04 | 1.3 |
|
2005-02-16 | 1.2 |
|
2005-02-10 | 1.1 |
|
2005-02-08 | 1.0 |
|