この Perlスクリプトは、KENT-WEB さんのフリーソフト YY-BOARD の Ver.3.4 (2000/08/15) をベースに taitai studio さんが改造した YY Board PLUS (2000/10/06) を、さらに改造したものです。さんざん改造してしまったので、ベースのバージョンを上げるつもりも気力もまったくありません。日本語ライブラリ jcode.pl は、うたしろ かずま さん によるものです。
しかし、<font> タグなどからCSSスタイルへの移行、付属 jcode.pl の最新バージョン採用など、(たぶん)充分に「現代的」なものになっています。
なお、PAL のすべてのCGIスクリプトは "use strict 'vars', 'refs'" して、PHP的に変数のスコープを厳格にしています。Perl の変数リファレンス機能も使っています。極端に古いサーバや設定のおかしいサーバでは動作しないことがあるかもしれません。
以下の規定を遵守していただく限り、改造、無改造にかかわらずこのスクリプトは自由にお使いいただけます。
最低限、yyconfig.cgi に目を通し、自分の環境に合わせて設定を変更してください。なるべく分かりやすいよう、コメントをたくさん入れてあります。「CSS切替」機能を使う場合は、必ず changess.js にも目を通し、最低限 cdomain
と cpath
(cookie発行に使われる値) を正しく設定してください。
yyplus2.cgi の冒頭にも設定項目がありますが、変更が必須の項目は特にありません。
また、yyplus.cgi と yyplus2.cgi の一番最初にある #!/usr/bin/perl
が、サーバの perl 実行バイナリのパスと異なる場合、合わせてください (#!/usr/local/bin/perl
など)。
past, lock, icon などのカラのディレクトリは、サーバへの配置状態をわかりやすくするために作ってあります。配布圧縮ファイルに含まれるこのフォルダ「自体」をアップロードする必要はありません。同名のフォルダをサーバ上に新規に作成すれば問題ありません。
yyplus.cgi
メインスクリプトyyplus2.cgi
過去ログ表示/検索スクリプトyyconfig.cgi
メインスクリプトの設定ファイル (yyplus2.cgi の設定は yyplus2.cgi 内に内包)yylog.cgi
発言データファイル(現行ログ)pastnop.dat
過去ログの版数が記録されるファイルyycount.dat
アクセスカウンタ用のカウント数が記録されるファイルjcode.pl
日本語変換ライブラリchangess.js
メインスクリプトで「スタイルシート切替機能を使う場合に使用されるJavaScriptファイル。「いちゆう」さん作Readme.html
解説ファイル (HTML版)。サーバ上には要りませんReadme-euc.txt
解説ファイル (EUC-JP:LF版)。サーバ上には要りませんbbstitle.png
メインスクリプト用タイトルロゴ画像サンプルwallpaper.png
背景画像サンプルpast/
過去ログ(htmlファイル)が保存されるディレクトリ (配布時カラ)lock/
同時書き込み防止用のロックファイルが作成されるディレクトリ (配布時カラ)icon/
発言に添えられるアイコン画像ファイルを置くディレクトリ(配布時カラ)。画像ファイルは別途ダウンロードまたは作成してください。オリジナル作成元である KENT さんでは、「まきまき」さんのアイコンセットの利用が推奨されていますし、当 YY Board PAL のアイコン設定サンプルも、それにあわせて書いてあります。css/ +
main.css CSS
切替機能を使わない場合やCSS切替が効かないブラウザで使用されるスタイルシートstandard.css
CSS切替でデフォルトスタイルとなるスタイルシート。内容は main.css と 同一bigfont.css
CSS切替でフォントを「拡大」した時のスタイルシートcount/ +
カウンタ用数字画像ファイルを置くディレクトリ0〜9.png
カウンタ用数字画像のサンプル
.cgi ファイルを含めテキスト形式のファイルは、文字コードShift-JIS, 改行コードLF に統一しています。改造などでテキストファイルを新たに作る場合も、文字コードShift-JIS, 改行コードLF に統一したほうが問題が起こりにくくなります。設定、改造には、LF改行コードが正しく処理できるテキストエディタを使ってください (フリーソフトでは TeraPad, シェアウェアでは秀丸あたりが有名です)。
Readme.txt を除く上記のファイル構成をサーバ上に再現してください。パーミションは以下(カッコ内はシンボル形式での表示)。WEBサーバが suxec されている場合は、グループビットは 0 (---)
で構いません。
- 親ディレクトリ
755 (rwxr-xr-x)
yyplus.cgi 755 (rwxr-xr-x)
yyplus2.cgi 755 (rwxr-xr-x)
yyconfig.cgi 644 (rw-r--r--)
yylog.cgi 666 (rw-rw-rw-) か 646 (rw-r--rw-)
pastnop.dat 666 (rw-rw-rw-) か 646 (rw-r--rw-)
yycount.dat 666 (rw-rw-rw-) か 646 (rw-r--rw-)
jcode.pl 644 (rw-r--r--)
changess.js 644 (rw-r--r--)
bbstitle.png 644 (rw-r--r--)
wallpaper.png 644 (rw-r--r--)
past/ 777 (rwxrwxrwx)
か suexecでない場合は可能なら2777 (rwxrwsrwx)
lock/ 777 (rwxrwxrwx)
か suexecでない場合は可能なら2777 (rwxrwsrwx)
icon/ + 755 (rwxr-xr-x)
- 各アイコン画像
644 (rw-r--r--)
css/ + 755 (rwxr-xr-x)
main.css 644 (rw-r--r--)
standard.css 644 (rw-r--r--)
bigfont.css 644 (rw-r--r--)
count/ + 755 (rwxr-xr-x)
画像でなくテキストカウンタを使う設定の場合は不要- 各数字画像
644 (rw-r--r--)
上記のパーミションでファイルを配置しても動かない場合、UNIX (Linux) の知識が多少なりとも必要です。WEBサーバやディレクトリ環境の設定 (.htaccess によるも設定も含む) が可能な場合、以下の点を検討すると良いでしょう。ただしここでは Apache に関してのみ触れます。IIS は私は知りません。
cgi-bin/
など) に置かないと動かない場合が多いでしょう。そうした指定ディレクトリが特にないか、サーバの設定が自由になる環境の人は、下記の Apache設定句で CGI-Perl の動作が可能になります。最初の行と最後の行は、普通はサーバの根幹で設定されますので、YY Board PAL を置くディレクトリ自体には特に設定する必要はないでしょう:
PerlHandler Apache::Registry Options +ExecCGI AddHandler cgi-script .cgi
701 (rwx-----x)
かそれより緩いパーミションでないと、WEBサーバが中のファイルを読んだり実行したりできません。DefaultLanguage ja AddDefaultCharset shift_jis
<FilesMatch ".*\.dat"> Order allow,deny Deny from all </FilesMatch>
上記の諸設定について、より詳しく知りたい方は、WEBサーバ Apache の オフィシャル解説 を読むと良いでしょう。
それではお楽しみください。