かばの遊べるCGI ロゴ [トップ] [掲示板] [F.A.Q.] [コラム] [ひとりごと] [利用規約] [履歴]
だれどこ

■特徴

「いつ」「だれが」「どこで」「なにを」「どうした」をバラバラに紙に書いて、ランダムに組み合わせる遊びをしたことはありませんか? 偶然が作る珍妙な文章はけっこう笑えますよ。「だれどこ」はそれをインターネットで再現するCGIです。
とりあえずスタートボタンを押すと、番号がスロットマシーンのようにくるくる変わります。適当なとこりでストップボタンを押すと5つの番号が決定し、それに対応する各文節を表示します。

ruleご利用にあたって sample見本


■設置方法

(1)ダウンロード

まず、下のファイルをダウンロードして、解凍します。解凍すると、"loglog.log"、"daredoko.cgi"、"kabalib.pl"、"when.dat"、"who.dat"、"where.dat"、"what.dat"、"did.dat"の8つのテキスト・ファイルと、11個の.gifファイルができます。.gifファイルはdigitディレクトリの下になります。

※kabalib.plはVer.1.20以降を使ってください。

downloadファイルをダウンロード

cgi-lib.plを入手します。

http://cgi-lib.berkeley.edu/

jcode.plを入手します。(ホームページ・サービスによってはPerlと一緒にインストールしてある場合があるようです)

ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/

(2)CGIをカスタマイズ

"daredoko.cgi"をテキスト・エディタで編集します。
(※"daredoko.cgi"はEUCで書いてありますので、EUCが扱えるエディタでないと日本語部分が読めません。)

最低限、次の個所を変更する必要があります。

#!/usr/local/bin/perl
perlへのパス
$htmPath = 'daredoko.html';
[もどる]ボタンでジャンプするパス。
use lib '../lib';
"daredoko.cgi"から見て、cgi-lib.pl、jcode.pl、kabalib.plがあるパス。

(3)アップロード

ftpソフトなどでサーバーのCGI用ディレクトリにアップロードしましょう。アップロードするとき、.cgiと.plはテキストモードで、.gifはバイナリモードで転送するのを忘れないでください。仮にcgi-bin/にアップロードしたら、次のようにディレクトリとパーミッションを設定します。
※kabalib.plはdaredoko/の下でもOKです。
※jcode.plとcgi-lib.plはCGIスクリプトではしょっちゅう参照される定番なので、lib/ディレクトリとして独立させておくと使いまわせて便利です。

cgi-bin/
    ├-- lib/
    |    ├-- jcode.pl
    |    ├-- cgi-lib.pl
    |    └-- kabalib.pl
    └-- daredoko (755)/
          ├-- daredoko.cgi (755)
          ├-- data (777)/
          |    ├-- did.dat (666)
          |    ├-- what.dat (666)
          |    ├-- when.dat (666)
          |    ├-- where.dat (666)
          |    └-- who.dat (666)
          └-- digit/
                 ├-- 0〜9.gif
                 └-- init.gif

(4)テスト

設定が終わったら、ブラウザからCGIを設置したURLを開いてみましょう。上の例のようなディレクトリ構成なら、次のようなURLになります。

http://xxx.yyy.zzz/cgi-bin/daredoko/daredoko.cgi


■もっとカスタマイズ

"daredoko.cgi"の「設定、適当に変更してください」〜「設定はここまで」の間を適当に変更すると、見た目や動作をカスタマイズできます。

(1)画像ファイルを使おう

画像ファイルを使う場合は.gifファイルを指定して、先頭の「#」を消してください。指定しない場合は、壁紙はなし、その他はテキストで代替します。

#画像ファイル指定(不要ならコメントアウトか''にして)
#$iBg1 = 'bg1.gif';        #ノーマル状態の壁紙。
#$iBg2 = 'bg2.gif';        #警告の壁紙。
#$iTitle = 'title.gif';    #タイトルのロゴ。

数字の画像を変えたいときは、デレクトリdigitの下のgifファイルを同じファイル名で入れ替えてください。

(2)色を変えよう

色も変更できます。壁紙を使わない場合は、サイトの雰囲気にマッチした背景色を指定しましょう。壁紙を使う場合には、その壁紙に似た背景色を指定しておくと、画像がブラウザに送られなかったとき(例えばブラウザで画像をダウンロードしない設定にしているなど)でも、見た目のイメージをいくらか保持できます。

#色指定
$cBg1 = '#FFFFFF';         #ノーマル状態の背景色(白)
$cBg2 = '#FFCC66';         #警告の背景色(オレンジ)
$cTx  = '#006400';         #文字色
$cLi  = '#8b0000';         #リンク文字色
$cVl  = '#1e90ff';         #訪問済みリンク文字色
$cCard= '#F5F5DC';         #ふだの色(ベージュ)

(3)動きを変えよう

スロットマシーンのように切り替わる番号のインターバル・タイム、投稿者のIPアドレスを記録するか、文節の最大文字数を変更できます。数字画像ファイルを変えた場合には、そのサイズも指定してください。

$intTime = 50;
番号を切り替えるインターバル・タイム。
$regIP = 1;
1だと、投稿者のPアドレスを記録します。
$iWidth = 30;
番号用のgifファイルの幅。gifを変える場合には変更してください。
$iHeight = 42;
番号用のgifファイルの高さ。gifを変える場合には変更してください。
$maxLen = 50;
文節の最大文字数1=半角1文字

■やっぱりメンテナンス

"daredoko.cgi"には,、管理者が文節を追加・削除するためのメンテナンス・モードがあります。メンテナンス・モードを活用するには、"daredoko.cgi"の「設定、適当に変更してください」〜「設定はここまで」の間にちょっとした設定をしておきます。
メンテナンス・モードに入るには、だれどこ画面の[メンテナンス]をクリックします。

(1)パスワードを設定しよう

誰でも文面を追加・削除できては困るのでパスワードを付けます。パスワードの初期値"0123"は必ず変更しておきましょう。
メンテナンス・モードにログインすると、テンポラリのセッションIDがブラウザ側のクッキーに送られ、あとの操作が管理されますが、ブラウザがクッキーを受け付けない設定になっている場合には、正規にログインしたのかどうか判断できません。そういう場合には$setdelkeyに削除キーを設定しておいてください。$setdelkeyがあると、"daredoko.cgi"は追加・削除操作の度に「削除キー」を聞いてきます。

$setpass = '0123';             #メンテナンス・モードのログイン・パスワード
$setdelkey = '';               #ワードの削除キー、クッキーが有効なら不要。

(2)リモート・ホストを設定しよう

パスワードだけでは心配な場合は、自分のIPアドレスからしかメンテナンスできないように設定できます。$sethostに「111.222.333.444」のようにIPアドレスを記入してください。もし、自分のIPアドレスが固定でないときは、「111.222.333」のように決まっている桁だけ書いておけば大丈夫です。初期値".*"は何でもOKの意味です。

$sethost = '.*';   #ホスト名にこの文字列を含まないとメンテナンスできない。

(3)たまにはログをチェックしよう

CGIが出したエラーメッセージはログ・ファイルに記録できます。たまにはログをチェックしてちゃんと動いているか確認するとベターです。ログ・ファイルはEUCで記録されますので、PCに転送して中を見る時には注意してください。

$logfile = 'loglog.log';
ログのファイル名

■履歴

2003/1/28 Ver.1.01p kabalib.plの重大なバグを修正。(Ver.1.20)
2002/9/16 Ver.1.01 デバッグファイルとログファイルをデータディレクトリの下に。
2002/5/26 Ver.1.00 つくりました

[トップへ] [掲示板] [F.A.Q.] [コラム] [ひとりごと] [利用規約] [履歴]