概要と動作デモ

画像アップロード機能のついたCGI掲示板スクリプトです。アップロードされた画像のサムネイル画像を作成します。従って、軽く、高速なレンダリングを期待できると思います。サムネイル画像の作成には、GDモジュールもしくはPerlMagickのどちらかが必要です。その他、

また開発にあたり、1998特報!!倶楽部imgboardを参考にさせていただきました。

動作デモをご用意しました。自由にテスト投稿することができます。適当な画像をお持ちでない方は、テスト用画像(60KB)を使ってみてください。

動作環境

スクリプトの動作には以下のものが必要です。

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以外の環境の方は、適宜改行コードを変更してください。

申し訳ありませんが、バージョン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 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
  • 返信記事の件数を制限するようにした。
  • 一度に複数の記事を削除できるようにした。
  • 投稿記事の連続する改行を段落の切れ目にするようにした。
  • HTMLのLINK要素によるナビゲーションを追加。
  • XHTMLのContent Typeを出力する設定項目を追加。
2005-03-24 1.4
  • 記事の検索機能を追加。
  • メールによる管理人さんへの通知機能を追加。
  • 色々なファイルをアップロードできるようにした。
  • サムネイルの品質を選択できるようにした。
  • $CSS_FILEの指定が無効になっていた不具合を修正。
  • スクリプトのURIを取得できないことがある不具合を修正。
  • 存在しない記事に返信できてしまう不具合を修正。
2005-03-04 1.3
  • Image::Magick(PerlMagick)をサポートした
  • Jcodeが無くても動くようにした
  • データファイルの形式を変更した
  • マークアップをXHTML1.0に変更した
  • 記事一覧と投稿フォームのページを分離した
  • 記事部分のマークアップを変更した
2005-02-16 1.2
  • 1世代のテキストのみの返信機能を追加
  • それに伴い記事部分のマークアップを少し変更
2005-02-10 1.1
  • JavaScriptによるフォームの検証機能を追加
  • 連続投稿制限機能を追加
  • フォームの入力必須項目を設定できるようにした
2005-02-08 1.0
  • 公開
This is Index of confetto. © 2005-2007 confetto.