HP作成実録 No.19

BBS(Joyful Note)の設置

画像などのバイナリファイルをアップロード出来るCGIで、
KENTさん作のJoyful Noteの設置方法です。
コレの前に設置していたClip Boardの上位互換版といった感じのもので、
各記事に対して返信レスを付けることができる、
過去ログの自動生成が可能、
という点が機能として増えています。設置の難易度も上昇 (^^;)。
KENTさんのサイト から書庫ファイル(joyful.lzh かjoyful.zip )ダウンロードしてください。
解凍したファイルの中のCGIファイルをエディタで開いて自分用に修正します。
設定できる項目数はかなり多いです。shinが設定したものを中心に説明。

−−−−− joyful.cgiの設定 −−−−−
#!/usr/local/bin/perl
プロバイダで定められたPerlへのパスを指定。大抵はこのままでいいようです。

基本設定
# タイトル名
$title = "shin's PSYCHOMMUNITY -BBS-";
BBSのトップに表示されるタイトル文字。

# タイトル文字の色
$t_color = "#FF0000";
BBSのトップに表示されるタイトルの色。

# 壁紙を指定する場合(http://から指定)
$bg = "http://www5.plala.or.jp/shinspsy/useimage/mark02.jpg";
壁紙の設定。http://からのアドレスで指定。

# 背景色を指定
$bc = "#EFEFEF";
背景色の設定。壁紙を指定しない場合に有効。

# 戻り先のURL (index.htmlなど)
$homepage = "http://www5.plala.or.jp/shinspsy/index.html";
[トップに戻る]を押した時の戻り先。

# 最大記事数
$max = 50;
記事の最大保持数(親記事,レス記事の合計)。
大きすぎるとログ消滅の危険性があります。


# 管理者用マスタパスワード (英数字で8文字以内)
$pass = '*****';
ホームぺージ管理者(例えばshin専用)のパスワードの設定。

# ファイルロック形式 → 0=no 1=symlink関数 2=mkdir関数
$lockkey = 1;
ファイルロック形式の設定。よく判らないのでとりあえず1 (^^;)

# ロックファイル名
$lockfile = './lock/joyful.lock';
ファイルロック名の設定。よく判らないのでとりあえずそのまま (^^;)

# ミニカウンタの設置 → 0=no 1=テキスト 2=GIF画像
$counter = 1;
ページの左上に付くミニカウンタの設定。0で無し、2の場合は別にGIF画像が必要。

# ミニカウンタの桁数
$mini_fig = 6;
ミニカウンタの桁数の設定。設置しない場合は関係なし。

# テキストのとき:ミニカウンタの色
$cnt_color = "#FF0000";
ミニカウンタの色の設定。設置でテキストを選択した場合のみ有効。

# GIFカウンタのとき:画像までのディレクトリ
$gif_path = "./img/";
$mini_w = 8;
$mini_h = 12;

GIF画像のあるディレクトリの指定。設置でGIF画像を選択した場合のみ有効。
$mini_w = で画像の横サイズ、$mini_h = で画像の縦サイズをピクセル単位で指定。


# 記事の [タイトル] 部の色
$sub_color = "#FF0000";
記事のタイトル部の色の設定。

# 記事表示部の下地の色
$tbl_color = "#FF0000";
記事表示部の下地の色の設定。

# 文字色の設定
@COLORS = ('800000','DF0000','008040','0000FF','C100C1','FF80C0','FF8040','000080');
投稿時に選択できる文字色の設定。

# タグ広告挿入オプション (FreeWebなど)
$banner1 = ''; # 掲示板上部に挿入
$banner2 = <img src="http://cgi.com/lime.cgi?page=1&name=bbs&hp=http://cgi.com/joyful.cgi"
width="1" height="1">'; # 表示部下部に挿入

広告タグ等を挿入する為の設定。設定しなくても問題なし。
$banner2の方はページカウンタにカウントさせる為のタグで、
LimeCounterを設置してない方は必要ないものです。
LimeCounterについては、
No.11のページカウンタ(limeCounter)の設置を参考にして下さい。


# アップロードディレクトリ→ パスの最後は / で終わること、
 フルパスだと / から記述する

$ImgDir = "./img/";
投稿時に添付されたファイルを格納するディレクトリの設定。
ココで言うフルパス( / から記述)とはhttp://で始まるものではないので、
フルパスが判らない人は変えない方が無難。


# アップロードディレクトリのURLパス → パスの最後は / で終わること
$ImgUrl = "http://cgi.com/cgi-bin/joyfulimg/";
投稿時に添付されたファイルを格納するディレクトリの設定。
こちらの設定はhttp://で始まるアドレス。上記のものと同じ場所を指定。


過去ログ機能を使用する場合の設定
# 過去ログ生成 (0=no 1=yes)
$pastkey = 1;
過去ログを生成をするかどうかの選択。

# 過去ログ用NOファイル
$nofile = './pastno.dat';
過去ログ用NOファイルの場所とファイル名の設定。

# 過去ログのディレクトリ → フルパスなら / から記述、最後は必ず / で閉じる
$pastdir = './past/';
過去ログのディレクトリの設定。
ココで言うフルパス( / から記述)とはhttp://で始まるものではないので、
フルパスが判らない人は変えない方が無難。


# 過去ログ1ファイルの行数 → この行数を超えると次ページを自動生成します
$log_line = '600';
1つの過去ログファイルの行数の設定。


他にアップロードを許可するファイル形式とか、
投稿受理最大サイズ等を必要に応じて設定します。
shinが設定したのはこの程度で、
上記の中で人によって設定しない項目もあると思います。
今回からロックファイルの指定もしています。
ちゃんと動作しているかは目に見えないのでタブン動いてるんでしょう、
エラーも出てないし (^^;)
設定が終わったらFTPでCGIサーバアップロードして、
次にパーミッション([ ]内の数字)の設定をします。
この色のディレクトリ(past)とファイル(pastno.dat,1.dat) は、
過去ログ機能を使用しない場合には必要ありません。


CGIサーバ側
http://cgi.plala.or.jp/cgi-bin/joyful/┬joyful.cgi             [755]cgi-lib.pl             [644]jcode.pl               [644]joyful.log             [666]count.dat              [666]pastno.dat             [666]past[755]/−1.dat      [666]lock[755]/
                                      └img [755]/┬home.gif   [644]clip.gif   [644]soon.gif   [644]

lockディレクトリとimgディレクトリは本来は777ですが、
FreeComもぷららもセキュリティ上の問題で、
ディレクトリのパーミッションを777に設定することを禁止している為、
755に設定しています。これでもちゃんと動作しています。
最後にindex.html等に
赤字 の部分のタグを入れて自分用に書換えます(下のは例)。

<body>
<a href="http://cgi.plala.or.jp/cgi-bin/joyfuln/joyful.cgi">BBS</a>
</body>


これでBBSが動作するハズです。
http://〜〜/joyful.cgi?mode=check
という引数を付けて起動することで簡単なチェックが出来ます。
うまく動かなかった時は、まずコレでチェックして見て下さい。
それでも動かなかった時は、KENTさんの所のサポート掲示板に多くの前例があって、
自分と同じ症状の人がいると思います。
このBBSはサーバ側の容量が足りないと、アップロードできなくなったり、
他のCGIの動作が出来なくなったりすると思います(多分、確かめてはいない)。
あまり大きなファイルを送れないようにしたり、数に制限を設けないと、
容量不足になると思いますので、管理に注意が必要です。

▲MENUに戻る