"WeB DoRaMa" の チュートなリアル

〇 はじめに…

このCGIはフリーウェアですが著作権は放棄してません。
だから、スクリプト規定はちゃんと守ってくださいです。

〇 WeB DoRaMa とは

WeB DoRaMa の変形バージョンです。
リレー小説のような、ちょっと変わったリレードラマを作れます(--;

〇 設置するには?

初めて設置する方や、良くわからない方は CGI-StaTion の "初めてのCGI設置講座" をご覧ください。
ここでは、簡単にしか説明してないです(^-^;;

□ ファイルの簡単な説明

dorama.lzh を解凍すると次のファイルが作成されるはずなので、確かめてください。
readme.htm ... このファイルです
dorama.cgi ... CGIスクリプト
dorama.log ... 記録ファイル
dorama.act ... 出演者要ファイル
dorama.gif ... 画像ファイル(Thanks Mina)
jcode.pl   ... 日本語変換ライブラリ(Thanks Kazumasa Utashiro)
Mac(マッキントッシュ)の一部の解凍ソフトで、記録ファイル等が作成されない場合があるみたいです(T_T)
その場合は、お手数ですが他の解凍ソフトでやってみてくださいです。
(たいていの場合、作成されないのは空のファイルなので、自分で作成できる方は作成してもらっても構わないと思います。)

□ テスト設置

まずはテスト設置します(テスト設置は必要です)。
dorama.cgi をエディタで開きましょう!
先頭行、#!/usr/local/bin/perl を書き換えます。


1|#!/usr/local/bin/perl
2|
3|#| XXXXX Version x.xx
4|#| This script is free.

ここは一般的な Perl のパスを記述してあるので、あなたのプロバイダで違う場合は書き換えてください。
間違っても適当に書かないように(^-^;

□ ファイルをFTPで転送する

普通は全てのファイルを同じディレクトリ(フォルダ)内に置けばオーケーです。
(プロバイダによって指定されている場合は、オプション設定で変更の必要あり)
jcode.pl がすでに存在している場合は、上書きしてください。
なお、パーミッション(アクセス権)は次のように設定しましょう(プロバイダが指定している場合は、プロバイダの指示に従ってください。)
readme.htm ... 転送不要です。転送しないほうが良いでしょう。
dorama.cgi ... パーミッションは[755] に設定しましょう。
dorama.gif ... パーミッションは[644] に設定しましょう。
dorama.log ... パーミッションは[666] に設定しましょう。
jcode.pl   ... パーミッションは[755] に設定しましょう。
□ ブラウザで確認する

FTPで転送したらうまく設置できているか確認しましょう。
ブラウザを立ち上げ、直接 dorama.cgi を呼び出しましょう。
ちなみに、リンクをはるときも、dorama.cgi にはってください。
うまく表示されたでしょうか?
エラーが出たら、慌てずにトラブルシューティングを読みましょう(ちなみに、初めての方は8割ぐらい失敗するみたいです。僕も良く失敗するし〜♪)

〇 始めてドラマを動かした時は…

始めてドラマが動いた時は、
???「」
???「」
???「」
???「」
???「」
…と、わけのわからない状態になっていると思います。
これは、全く何も登録されてないことを表しているだけなので失敗ではありません。
何回か登録することで、ちゃんとしたドラマになります。

〇 出演者エディタ注意事項!

出演者エディタを使う時の注意があります。
出演者を「追加」する時は問題ないんですけど、削除する時はログのデータが壊れます。
具体的には「出演者としているはずの人がいなくなる」わけですから、???と表示されるようになります。
また、削除してから別の人を追加すると???となってた人と入れ替わることがあります。
したがって、出演している人の削除はできるだけしないでくださいね。

〇 トラブルシューティング

どうしてもうまくいかない、エラーが頻発する、文字化けがある等、不都合がある場合はトラブルシューティングをご利用ください。
CGI-StaTion にはトラブルシューティングのページがあります。
トップページのクイックリンクでトラブルシューティングを選択して下さい。
「トラブルシューティングでもあかんわぁ」って方は、サポート掲示板をご利用下さい。

原則、メールでの質問はやめてください。対処しにくいです。

〇 オプションの設定

dorama.cgi のオプション設定

dorama.cgi をエディタで開いてください。
以下のようなオプションを設定できます。

青い部分をクリックすると、その項目を見ることができます。

18行目以降にあります

# ----------------------------------------------------------
# ドラマの管理者(あなた)の情報です。
# ----------------------------------------------------------

$admin_name = '不明';               # あなたの名前(ハンドルネーム)
$admin_email = 'mail@your.address'; # あなたのメールアドレス
$master = 'password';               # 管理用のパスワード

# ----------------------------------------------------------
# ドラマのカスタマイズ項目です。
# ----------------------------------------------------------
# 〇 基本項目

$cgi_title    =  "WeB DoRaMa";      # ドラマのタイトル(タグ不可)
$body_text    = '#000000';          # <BODY> タグの設定
$body_link    = '#0000FF';          # リンクの色
$body_alink   = '#0000DD';          # クリック中のリンクの色
$body_vlink   = '#FF0000';          # 既にクリック済みのリンクの色
$body_bgcolor = '#EEDDE0';          # 背景の色
$body_back    = '';                 # 背景画像

$back_url = "http://www.xxxxx.ne.jp/~homeepage/";
                                    # 帰りの URL(絶対URL)
$image_dorama = 'http://www.xxxxx.ne.jp/~homepage/dorama.gif';
                                    # ↑ドラマの画像のある URL

$emb_color = '#FF0000';                                 # 強調色(主に時刻の色)

$limit_log = 150;                   # ログの最大登録数
$view      = 5;                     # 始めに表示するドラマの数
$page      = 30;                    # 1ページに表示するドラマの数(^-^;;

$ip_check = 0;                      # IPアドレスの表示 (0:表示しない  1:表示する)
$rh_check = 0;                      # リモートホストの表示 (0:表示しない  1:表示する)

$actedit_pass   = 'guest';          # 出演者エディタのゲストパスワード
$actedit_add    = 0;                # 出演者エディタでゲストが削除できるか(0:できない 1:できる)
$actedit_delete = 0;                # 出演者エディタでゲストが削除できるか(0:できない 1:できる)


# 〇 システム関連項目
                                    # ファイル関連の設定
                                    # 通常はこのままで良い
$method    = 'POST';                # METHOD の設定('POST' or 'GET')
$tz        = 'JST-9';               # TimeZone
$jcode     = './jcode.pl';          # jcode.pl のある場所
$savetype = 1;                      # ログの記録方式 0:Openのみ 1:ログ保護
$logdir    = './';                  # 記録用ファイルの置くディレクトリへのパス(URLじゃないよ)
$logfile   = './dorama.log';        # 記録用ファイル名
$lock_flag = 1;                     # ロック機構 1:使用 0:不使用

# 〇 セキュリティー項目

@BAD_WORD = ('ばか','馬鹿','バカ','あほ','アホ');
                                    # ↑禁止ワード
$check_url = "";    # ここに G_BOOK の正確な URL (http://〜) を書いておくと他サイトから
                    # 不正に投稿されたものを拒否できます。
                    # (イタズラされて、初めて利用すること!)

@check_ipad = ();   # ここに 登録されたくない方の IPアドレスを書いておくと、
                    # その IPアドレスからの全ての投稿を拒否します。
                    # (イタズラされて、初めて利用すること!)

$check_proxy = 0;   # ここの値を 1 にすると、プロクシ経由で来る匿名な訪問者を
                    # 排除ですきますが、通常の方を排除する可能性もあります。
                    # (イタズラされて、初めて利用すること!)

その他、次の設定も行えます。

・ タイトルを変更したい。
・ 各説明部分を変更したい。
・ サンキューメッセージを変更したい。
・ JavaScript や スタイルシートを使いたい。
・ バナー広告をつけなくてはならない。



あなたの名前:$admin_name = '';

ドラマの管理者(あなた)の名前を書き込んで下さい。
の部分のみを書き換えてください。
<< 戻る 



あなたのメールアドレス:$admin_email = '';

ドラマの管理者(あなた)のメールアドレスを書き込んで下さい。
の部分のみを書き換えてください。
<< 戻る 



マスターパスワード:$master = ''; (重要です!)

管理用エディタを使うためのパスワードです。
半角英数 8 文字以内で必ず書き換えて下さい。
このパスワードを利用すると、投稿を編集・削除できるようになります。
の部分のみを書き換えてください。
<< 戻る 



タイトル:$cgi_title = '';

ブラウザの上に表示されるドラマのタイトルです。
タグは無意味です。使わないで下さい。

ブラウザ内に表示されるタイトルはHTML追加・書換えで変更できます。

の部分のみを書き換えて下さい。
<< 戻る 



<BODY>タグ:$body_xxxxx = '';

<BODY>タグの設定です。
基本的な色や、背景画像等を設定できます。
$body_text = '#000000'; は全体のテキスト(文字)の色を指定します。
$body_link = '#0000FF'; は全体のリンクの文字の色を指定します。
$body_alink = '#0000DD'; は全体のリンクのクリック中の文字の色を指定します。
$body_vlink = '#FF0000'; は全体の既に訪れたことのあるリンクの文字の色を指定します。
$body_bgcolor = '#F4F4E5'; は背景画像を指定します。

それぞれの '' の間のみを書き換えて下さい。
<< 戻る 



帰りのページの URL:$back_url = '';

ドラマから戻る時の URL を記述します。
絶対URL(http://〜で始まる URL)で書いてください。
の部分のみを書き換えて下さい。
<< 戻る 



ドラマの画像のある URL:$image_dorama = '';

ドラマの画像、dorama.gif へのリンクを張ります。
画像を別のディレクトリ(フォルダ)に置いた場合は、書き換えてください。
URLで書いてもいいので、もし画像が表示されないようなら http://〜 から書き込むと良いでしょう。
の部分のみを書き換えて下さい。
<< 戻る 



色の設定:$xxxxxx_color = '';

各部分の色を設定できます。
好みの色に変更してください。

いずれも、 の部分のみを書き換えて下さい。
<< 戻る 



ログの最大登録数:$limit_log = n;

ドラマが登録され続けると、記録内容がいっぱいになってしまいます。
あまりに増えると、不安定になってしまうことがあるので、登録に制限をつけます。
最大登録数を超えると、古い連想ワードから消えていきます。

n の部分のみを半角英数で指定してください。
<< 戻る 



始めに表示する数 :$view = n;

最初の画面で、現在の状況を表示する行数を指定します。
経験的に、少ないほど「書き込みやすい」が「内容が薄い」ドラマができ、多いほど「書きこみにくい」が「内容が濃い」ドラマができるようです。
いろいろと設定を試してみては?
n の部分のみを半角英数で指定してください。
<< 戻る 



ページ処理 :$page = n;

たくさん登録されると表示するのに時間がかかってしまいます。
そこで、ドラマではページ処理をします。
たくさん登録された場合、1ページ目、2ページ目というように表示するようにしています。
ここでは、1ページにいくつ表示するかを設定します。
(ページ処理をしたくない場合は、9999にでもしておけばページ処理はされません。)

n の部分のみを半角英数で指定してください。
<< 戻る 



各種表示 :$xx_check = n;

リモートホストや IPアドレス を表示します。
好みで設定してください。
表示させたい場合は 1 に設定し、表示させたくない場合は 0 に設定します。

n の部分のみを 0 か 1で指定してください。
<< 戻る 



出演者エディタ用ゲストパスワード :$actedit_pass = '';

出演者エディタのゲストパスワードを設定できます。
出演者エディタはマスターパスワードで利用できますが、他の人にも利用してもらいたい時に使用します。
このパスワードは、一部の機能を使えるようになるゲスト用(訪問者用)のパスワードです。
ゲストパスワードは必須ですので、使わない時でも guest ぐらいに設定しておいてください。
具体例はゲストパスワード権限にあります。

の部分のみを書き換えて下さい。
<< 戻る 



出演者エディタ用ゲストパスワードの権限 :$actedit_add = n; $actedit_delete = n;

出演者エディタのゲストパスワードの権限を設定します。
出演者エディタを他の人にも利用できるようにするためにゲストパスワードがありますが、”出演者の削除までされちゃ困る!”というような場合にここで設定します。
$actedit_add = 1; にするとゲストパスワードで出演者の追加ができるようになります。
$actedit_delete = 1; にするとゲストパスワードで出演者の削除ができるようになります。
なお、マスターパスワードには影響しないので、ここを両方 0 にしてもゲストパスワードが使えなくなるだけでマスターパスワードで出演者の追加・削除ができます。
難しいので、具体例を挙げます。

〇 管理者(自分)しか使えないようにしたい。
ゲストの追加・削除をできなくすれば良いので、両方とも 0 にします(初期段階ではこうなってる)
つまり…
$actedit_add = 0;
$actedit_delete = 0;
とします。
ゲストパスワードはなんでも良いです(どうせ、使えない)

〇 特定の人だけ追加だけできるようにしたい。
まず、ゲストの追加だけをできるようにする必要があるので、
$actedit_add = 1;
$actedit_delete = 0;
とします。
次に特定の人にだけ利用できるようにしたいので、ゲストパスワードを設定します。例えば、ゲストパスワードは jyouren 等と設定します。
つまり…
$actedit_pass = 'jyouren';
とします。
あとは、利用しても良い人にだけゲストパスワードを教えます。
ざっとこんな感じです。わからない場合は、できるだけ「管理者(自分)しか使えないようにしたい。」の状態にしておくことが望ましいです。

出演者エディタ用ゲストパスワードの権限は n の部分のみを 0 か 1で指定してください。
<< 戻る 



METHOD の設定:$method = '';

プロバイダによっては METHOD=GET にしてくださいと言われる場合があります。
この場合は、ここの 'POST' を 'GET' に書き換えてください。
の部分のみを書き換えて下さい。
<< 戻る 



TimeZone の設定:$tz = '';

通常はこのままでオーケーです。海外サーバー等で、時刻がずれる場合に利用します。
たいていは 9時間ずれるので、JST-9 を GMT と書換えてください。
それ以外の場合は、サポート掲示板でご相談ください。
の部分のみを書き換えて下さい。
<< 戻る 



jcode.pl のある場所:$jcode = '';

jcode.pl(日本語変換ライブラリ)のある場所(パス)を指定します。
プロバイダによって変えるように指示がある場合にのみ、プロバイダの指示に従って書き換えて下さい。
通常は書き換える必要はありません。
例)require '/usr/local/bin/jcode.pl'; に書き換えなさいというように指定された場合、/usr/local/bin/jcode.plがパスです('' や "" で囲まれた部分)
従って、jcode = '/usr/local/bin/jcode.pl'; と書き換えます。 の部分のみを書き換えて下さい。
<< 戻る 



ログの記録方式:$savetype = n;

記録用ファイルの記録方式を指定します。
0:Openのみ は一般的な記録方式のため、ほぼ全てのプロバイダで対応します。
ただし、ログ消失などの現象が起こりやすくなります。
エラーで警告された場合のみ利用してください。
1:Temp利用 は chmod コマンドを利用するため、一部プロバイダでは使用できません。
(WindowsNTサーバーや UNIXコマンド禁止のサイト等けっこうあります。)
n の部分のみ0 か 1 で指定して下さい。
<< 戻る 



記録用ファイルの置くディレクトリ:$logdir = '';

通常は書き換える必要はありません。
プロバイダによって、記録ファイル(データ)を置く場所(ディレクトリ)を指定されている場合は、そこまでのパスを指定します(URLじゃありません。)
例えば、データファイルは /home/data/ に置きなさい。と指定されている場合は、
$logdir = "/home/data/";
と、記述します。
の部分のみを書き換えてください。
<< 戻る 



記録用ファイル:$logfile = '';

記録用ファイルの名前を指定します。
通常はこのままでオーケーです。
複数設置する場合を除いて書き換えないでください。
プロバイダによって、データを置く所(記録ファイルを置くディレクトリ)を指定されている場合は記録用ファイルの置くディレクトリで設定します。

の部分のみを書き換えて下さい。
<< 戻る 



鍵ファイルの使用:$lock_flag = n;

鍵ファイルの使用の有無は決めます。
プロバイダのサーバーが WinNT の場合、使わない方が良いです。
通常は変更する必要はありません(使って下さい)
n の部分のみを 0 か 1 に設定して下さい。
<< 戻る 



禁止ワード:@BAD_WORD = ('');

書きこまれたくない言葉をここに記述すると、その言葉を含む単語などを投稿できなくします。
例えば”バカ”を記述した場合、”バカ”はもちろんのこと”くそバカやろう!”なんかも拒否します。
ただし、”バカンス”なんかも拒否してしまうので注意が必要です。
登録する場合は
@BAD_WORD = ('なんたら','かんたら','…');
というように '' の中に単語を書き、 , で区切って増やします。
副作用が多いので、普段は設定しないほうが良いです。
<< 戻る 


不正アクセス防止:$check_url = "";

他サイトからの掲示板破壊用のプログラムを拒絶します。
使用する場合は、ここに WeB DoRaMa の正確な URL を記述します。
ブラウザ等によってはこれだけで投稿できなくなることもあります。

<< 戻る 



イタズラ防止:@check_ipad = ();

イタズラをする人の投稿を拒否する機能です。
イタズラする人の IPアドレス を記述することで、その IPアドレス からの投稿はできなくなります。
IP アドレスは管理用エディタを起動するとわかります。
[xxxxxxxx.ne.jp(xxx.xxx.xxx.xxx)] の、xxx.xxx.xxx.xxxの部分です。
この数字を書きます。
@check_ipad = ('xxx.xxx.xxx.xxx');
数字は '' の中に書き込むようにしてください。
複数の場合は , で区切って列挙します。
@check_ipad = ('xxx.xxx.xxx.xxx','xxx.xxx.xxx.xxx','xxx.xxx.xxx.xxx');
これで、この IPアドレスからの投稿はできなくなります。
また、ダイアルアップ等で最後の番号が毎回変ることがあります。この場合、
例)
123.456.789.010
123.456.789.011
123.456.789.012 …と変る場合

最初の3つだけを記入するようにします。
@check_ipad = ('123.456.789');

IPアドレスで拒否するので、同じ IPアドレス の人全てを拒否してしまうことに注意してください。
通常は使用しないでください。

<< 戻る 





匿名プロクシ制限:$check_proxy = n;

匿名プロクシを使って悪戯する荒らし対策の機能です。
この匿名プロクシ制限と、上の IP アドレス制限でほとんどの悪戯相手を撃退可能です。
ただし、このプロクシ制限は関係ない普通の人も多く巻き込みます。
プロクシ経由全てを無差別に撃退するため、悪戯でよほど困ってない限り使用しないでください。
n の値を 1 にすれば、撃退します。
0 に戻せば、通常の状態に戻ります。
<< 戻る 



HTML書換え、追加:$html_xxxxxx=<<"_EOF_";

タイトルの変更や、JavaScript、スタイルシート追加、バナー広告等を設定できます。
書換えは ほとんど HTML そのままで行えます。
ただ、Perlの制限上、$ や @ 等、記号は、\$, \@ と記述しなくちゃいけません。
また、一部の文字は文字化けします(表示等)。
この場合、文字化けする文字の前に、\ を付けて下さい。(表\示と書く)


# --------------------              # タイトル部分の HTML文
$HTML_TITLE=<<"_EOF_";

<BR>
<CENTER>
<H1><FONT COLOR=$emb_color>●</FONT>
 <I>WeB BaNaNa</I>
<FONT COLOR=$emb_color>●</FONT>
</H1></CENTER>
<BR>

_EOF_
# ↑ この _EOF_ はこのままにしておくこと!


上のように、色が変わっている部分のみを書換えましょう。
(つまり、_EOF_ がある行は書換えないこと!)
<< 戻る 


〇 このCGI利用にあたっての注意

このCGIはフリーですけど、著作権は放棄してないことは前にも書きました。
基本的には掲示板の最後に表示される
[Shigeto Nakazawa]
を表示することが義務となってます。
この表示を改変あるいは削除してしまった場合、ご利用を止めていただき、罰金を請求する場合がありますのでご注意くださいです。
また、タグを利用できるように改造するのはご遠慮ください。
タグは掲示板荒らしの的になるだけでなく、間接的に僕が被害を受ける場合があります。
仲間内でのみ利用する場合を除き、タグに関する改造は避けてください(T_T)

〇 最後に…

これらのCGIの作成には多大な労力と資金がかかっています(いや、本当に…)
ちゃんと規定とか守って気持ち良く使って下さいです。
なお、わからないことがある場合にいきなりメール送るのはできるだけやめてください。
ホームページにはトラブルシューティングなどを用意してありますので。
それでは、あなたのホームページが楽しくなることを願ってます。
WeB DoRaMa version 1.30

CGI-StaTion Presents.
Script written by Shigeto Nakazawa.

http://www7.big.or.jp/~jawa/
jawa@big.or.jp