- 画像アップ式返信ボード -
特長
- この掲示板は、画像などのバイナリファイルを添付可能な、返信式掲示板です。
- サンプルは以下にあります。
- Joyful Noteの機能的な特長は以下のとおりです。
- スマホ画面に対応したレスポンシブデザインです。
- 画像等のバイナリファイルをアップロードすることができます。
- 画像を自動縮小し(サムネイル化)、閲覧を軽くすることができます(要:Image::Magick)。
- 各記事に対して返信レスを付けることができます。
- 投稿記事を管理人に自動でメール通知させることできます。
- キーワードから過去の投稿記事の簡易的な検索をすることができます。
- 過去ログの自動生成が可能です(過去ログの保存対象は記事のみで、添付ファイルは保存しません)。
- スパム対策用に画像認証機能を使用することができます。
- 全画面テンプレート式のため、レイアウトやデザインを自由に修正することができます。
- 画像だけを一覧表示する アルバム機能 が付属します。
- このプログラムを利用する上での利用規定です。必ず目を通しておいて下さい。プログラムをダウンロードする場合、「利用規定」に同意したものとみなします。
プログラムの入手
- 以下の書庫ファイルをダウンロードします。文字コードはUTF-8です。
- ダウンロード後、解凍 します。解凍すると以下のファイルが展開されます。
joyful.cgi ---------------- 掲示板プログラム admin.cgi ----------------- 管理用プログラム regist.cgi ---------------- 投稿用プログラム captcha.cgi --------------- 画像認証プログラム init.cgi ------------------ 設定ファイル check.cgi ----------------- 設定チェックプログラム lib/jacode.pl ------------- 文字コード変換モジュール [入手元] lib/Crypt/RC4.pm ---------- 暗号化モジュール [配布元] lib/GD/SecurityImage.pm --- 画像認証作成モジュール [配布元] lib/Digest/SHA/PurePerl.pm -- 暗号化モジュール [配布元] lib/CGI/Session.pm -------- セッション管理モジュール [配布元] lib/pngren.pl ------------- PNG連結ライブラリ [配布元サイト閉鎖中 : 桜月氏作成] lib/bin/*.png ------------- 画像認証用PNG画像 lib/bin/*.ttf ------------- 画像認証用フォントファイル data/*.* ------------------ データファイル data/past/ ---------------- 過去ログ用ディレクトリ data/past/0001.cgi -------- 過去ログ用データ data/pwd/ ----------------- 管理用暗号ディレクトリ data/ses/ ----------------- 管理用暗号ディレクトリ cmn/bbs.css --------------- スタイルシートファイル cmn/bbs.js ---------------- JSファイル cmn/*.png ----------------- アイコン画像 [入手元] cmn/view/*.* -------------- 画像ビューアー [入手元] tmpl/*.html --------------- テンプレートファイル img/ ---------------------- アップロードディレクトリ
プログラムの設定及び設置
- 全体のディレクトリ構成とファイル位置の設置例は以下のとおりです(かっこ内はパーミッションの設定値)。
ディレクトリ構成例
public_html / index.html (トップページ等) | +-- joyful / joyful.cgi [705] ... 掲示板本体 | regist.cgi [705] | admin.cgi [705] ... 管理画面 | captcha.cgi [705] | check.cgi [705] | init.cgi [604] | +-- lib / *.pl | | | +-- GD / *.* | +-- Crypt / *.* | +-- CGI / *.* | +-- Digest / *.* | +-- bin / *.* | +-- data / log.cgi [606] | | pastno.dat [606] | | pass.dat [606] | | | +-- past [707] / 0001.cgi [606] | +-- pwd/ [707] | +-- ses/ [707] | +-- img [707] / | +-- cmn / *.* | | | +-- view / *.* | +-- tmpl / *.html
- init.cgi を エディタ で開いて以下の箇所を修正します。
- $cf{thumbnail} = 0;
- (画像を自動縮小する場合は「1」とします。これにより大きな画像でも縮小されるため、閲覧速度が軽減されます。ただし、サーバ側でImage::Magickが利用できることが条件です。Image::Magickの可否は「check.cgi」でチェックすることができます。)
- $cf{img_check} = 0;
- アップロードされる画像を、管理者が許可するまで表示させたくない場合は「1」とします。
- $cf{max} = 50;
- 記事の最大保持数で、親記事・レス記事の総合計です。あまり大きくするとパフォーマンスが悪くなったり、ログ消滅の危険性が高くなります
- $cf{topsort} = 1;
- レス記事がついた親記事を一番トップへ移動させる場合には1を、親記事を投稿順とするには「0」とします
- $cf{imgdir} = "./img";
- 画像ディレクトリを指定します。このディレクトリを「joyfulディレクトリ」の下に作成するのならばこのままでOKですが、プロバイダの規定上画像ファイルを別ディレクトリにしなければならないときには、相対パスかまたは / から始まるフルパスで記述します。
- $cf{imgurl} = "./img";
- 上記「$cf{imgdir}」で指定するディレクトリのURLパスを記述します。
- $cf{maxdata} = 512000;
- 1度に投稿できるデータ容量の制限値をバイト数で指定します。例えば、102400バイト=100KBとなります
- $cf{ok_text} = 0; # TEXT
$cf{ok_gif} = 1; # GIF
$cf{ok_jpeg} = 1; # JPEG - (アップロードを許可するファイル形式を指定します。許可するファイルを「1」とします)
- $cf{max_failpass} = 5;
- (管理パスワードの最大間違い制限を指定します。この回数以上になるとログインがロックされます。
※運用の注意点は右のリンクをご覧ください: 管理パスワードについて) - $cf{use_captcha} = 1;
- スパム対策に画像認証を使用する場合の設定です。使用しない場合は「0」、使用する場合でライブラリー版を使用する場合は「1」、モジュール版を使用する場合は「2」とします
※画像認証(投稿キー機能)についての詳細は右記ページをご覧ください。: 画像認証について
- joyful.cgi, regist.cgi, admin.cgi, check.cgi, captcha.cgi を エディタ で開いて以下の箇所を修正します。
- #!/usr/local/bin/perl
- (プロバイダで定められたPerlへのパスを指定します)
- 以上、修正が完了したら各ファイルを所定のディレクトリへFTP転送し、以下のとおり アクセス権 (パーミッション) を設定します。
ファイル名 パーミッション 転送モード 一般サーバ suEXECサーバ
CGIWrapサーバjoyful.cgi
regist.cgi
admin.cgi
captcha.cgi
check.cgi755 or 705 701 or 700 アスキー init.cgi 644 or 604 600 アスキー lib/*.*
cmn/bbs.css
cmn/bbs.js- - アスキー data/log.cgi
data/count.dat
data/pastno.dat
data/past/0001.cgi666 or 606 600 アスキー imgディレクトリ
data/pastディレクトリ777 or 707 755 or 705 - cmn/*.gif
cmn/*.png
lib/bin/*.ttf- - バイナリ Tips:ファイル転送の仕方は以下のページを参考にしてください。
FTP : Windows編 FTP : Macintosh編 - 以上、作業が完了したら「チェックモード」で動作チェックを行ないましょう。「check.cgi」に直接アクセスすることで、簡易的なチェックを行うことができます。なお、動作チェック後はcheck.cgiはファイル削除しておきます。
おすすめページ