HP(ホームページ)を作ったらやはり設置したいのが掲示板ですよね。今回紹介するKentWebさん配布の掲示板は最近猛威をふるっているスパム対策の
ため書き込み時に投稿キー
を入力するものです。
設置作業はわたしにとってかなり面倒な作業だったので再現性を確保するために設置スクリプトを作成してみました。
READMEに書いてある作業内容をスクリプトにしただけなのでFedoraCoreの場合は文字コードがUTF-8となるのでその辺の変更がメインと
なってます。
#!/bin/csh
set dir2 = /home/web/public_html/yybbs
lha x yybbs.lzh
mv ./yybbs /home/web/public_html/
#
nkf -w --overwrite $dir2/yybbs.cgi
nkf -w --overwrite $dir2/regist.cgi
nkf -w --overwrite $dir2/admin.cgi
nkf -w --overwrite $dir2/read.cgi
nkf -w --overwrite $dir2/registkey.cgi
nkf -w --overwrite $dir2/init.cgi
nkf -w --overwrite $dir2/lib/form.pl
nkf -w --overwrite $dir2/lib/jcode.pl
nkf -w --overwrite $dir2/lib/list_log_thread.pl
nkf -w --overwrite $dir2/lib/list_log_topic.pl
nkf -w --overwrite $dir2/lib/list_log_tree.pl
nkf -w --overwrite $dir2/lib/registkey.pl
#
sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g' $dir2/yybbs.cgi ¥
> $dir2/yybbs.cgi1
mv -f $dir2/yybbs.cgi1 $dir2/yybbs.cgi
sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g'
$dir2/regist.cgi ¥
> $dir2/regist.cgi1
mv -f $dir2/regist.cgi1 $dir2/regist.cgi
sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g'
$dir2/admin.cgi ¥
> $dir2/admin.cgi1
mv -f $dir2/admin.cgi1 $dir2/admin.cgi
sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g'
$dir2/read.cgi ¥
> $dir2/read.cgi1
mv -f $dir2/read.cgi1 $dir2/read.cgi
sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g'
$dir2/registkey.cgi ¥
> $dir2/registkey.cgi1
mv -f $dir2/registkey.cgi1 $dir2/registkey.cgi
#sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g'
$dir2/init.cgi ¥
#> $dir2/init.cgi1
#mv $dir2/init.cgi1 $dir2/init.cgi
#--------------------------------------------
chmod 755 $dir2/yybbs.cgi
chmod 755 $dir2/regist.cgi
chmod 755 $dir2/admin.cgi
chmod 755 $dir2/read.cgi
chmod 755 $dir2/registkey.cgi
#chmod 644 $dir2/init.cgi
#--------------------------------------------
chmod 666 $dir2/data/log.cgi
chmod 666 $dir2/data/count.dat
chmod 666 $dir2/data/pastno.dat
#
chmod 644 $dir2/lib/jcode.pl
chmod 644 $dir2/lib/registkey.pl
chmod 644 $dir2/lib/form.pl
chmod 644 $dir2/lib/list_log_thread.pl
chmod 644 $dir2/lib/list_log_tree.pl
chmod 644 $dir2/lib/list_log_topic.pl
#--------------------------------------------
unzip system_g.zip
mv ./*.gif $dir2/img/
#--------------------------------------------
chmod -R 707 $dir2/past
chmod 606 $dir2/past/0001.cgi
#--------------------------------------------
sed 's/shift_jis/utf-8/g' $dir2/init.cgi >
$dir2/init.cgi1
mv -f $dir2/init.cgi1 $dir2/init.cgi
chmod 644 $dir2/init.cgi
面倒くさがりの人のために SETUP4.tar.gz
として置いておきます。
■お知らせメール機能の調整
この掲示板には書き込みが行われた場合に指定のアドレスに
メールでその内容についてお知らせメールを送信する機能があるのですが管理人のサーバーで使用している文字コードがutf-8であるためメールが文字化け
して読めない不具合が出ました。perlはまったく初めてでなんとなく弄っていたらうまくいったので少し紹介しますが何分素人がやっている事なのでおかし
い部分については遠慮なく指摘していただけるとうれしいです。regist.cgiのメール送信部分を下の様に編集しました。
# 題名をBASE64化
#$msub = &base64("$title (No.$no)");
use MIME::Base64;
# コード変換
#&jcode::convert(¥$mbody, 'jis', 'sjis');
# メールアドレスがない場合は管理者アドレスに置き換え
if ($in{'email'} eq "") { $email = $mailto; }
else { $email = $in{'email'}; }
open(MAIL,"| $sendmail -t -i") || &error("メール送信失敗");
print MAIL "To: $mailto¥n";
print MAIL "From: $email¥n";
#print MAIL "Subject: $msub¥n";
print MAIL "Subject: (No.$no)¥n";
print MAIL "MIME-Version: 1.0¥n";
#print MAIL "Content-type: text/plain;
charset=iso-2022-jp¥n";
print MAIL "Content-type: text/plain; charset=utf-8¥n";
#print MAIL "Content-Transfer-Encoding: 7bit¥n";
print MAIL "Content-Transfer-Encoding: encode_base64¥n";
print MAIL "X-Mailer: $ver¥n¥n";
print MAIL
"--------------------------------------------------------¥n";
print MAIL "$mbody¥n";
print MAIL
"--------------------------------------------------------¥n";
close(MAIL);
とりあえずこれでテスト書き込みをするとこんな感じのメールが送られてきます。これをやるのに三日もかかった。インターネットの検索とデバックだけでなん
とかこじつけた感じです。
From: hoge@hoge.sytes.net
To: hoge@hoge.sytes.net
Subject: (No.59)
Date: Sun, 5 Nov 2006 15:37:34 +0900 (JST)
X-Mailer: YY-BOARD v6.01
--------------------------------------------------------
投稿日時:2006/11/05(Sun) 15:37
ホスト名:127.0.0.1
ブラウザ:Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.0.7) Gecko/20061027
Fedora/1.5.0.7-8.fc6 Firefox/1.5.0.7
投稿者名:管理人
Eメール:
参照先 :
タイトル:test
てすと
▲このページの
トッ
プへ戻る