[トップ] [掲示板] [F.A.Q.] [コラム] [ひとりごと] [利用規約] [履歴] | |
だれどこ |
「いつ」「だれが」「どこで」「なにを」「どうした」をバラバラに紙に書いて、ランダムに組み合わせる遊びをしたことはありませんか?
偶然が作る珍妙な文章はけっこう笑えますよ。「だれどこ」はそれをインターネットで再現するCGIです。
とりあえずスタートボタンを押すと、番号がスロットマシーンのようにくるくる変わります。適当なとこりでストップボタンを押すと5つの番号が決定し、それに対応する各文節を表示します。
まず、下のファイルをダウンロードして、解凍します。解凍すると、"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以降を使ってください。
cgi-lib.plを入手します。
http://cgi-lib.berkeley.edu/
jcode.plを入手します。(ホームページ・サービスによってはPerlと一緒にインストールしてある場合があるようです)
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/
"daredoko.cgi"をテキスト・エディタで編集します。
(※"daredoko.cgi"はEUCで書いてありますので、EUCが扱えるエディタでないと日本語部分が読めません。)
最低限、次の個所を変更する必要があります。
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
設定が終わったら、ブラウザからCGIを設置したURLを開いてみましょう。上の例のようなディレクトリ構成なら、次のようなURLになります。
http://xxx.yyy.zzz/cgi-bin/daredoko/daredoko.cgi
"daredoko.cgi"の「設定、適当に変更してください」〜「設定はここまで」の間を適当に変更すると、見た目や動作をカスタマイズできます。
画像ファイルを使う場合は.gifファイルを指定して、先頭の「#」を消してください。指定しない場合は、壁紙はなし、その他はテキストで代替します。
#画像ファイル指定(不要ならコメントアウトか''にして) #$iBg1 = 'bg1.gif'; #ノーマル状態の壁紙。 #$iBg2 = 'bg2.gif'; #警告の壁紙。 #$iTitle = 'title.gif'; #タイトルのロゴ。
数字の画像を変えたいときは、デレクトリdigitの下のgifファイルを同じファイル名で入れ替えてください。
色も変更できます。壁紙を使わない場合は、サイトの雰囲気にマッチした背景色を指定しましょう。壁紙を使う場合には、その壁紙に似た背景色を指定しておくと、画像がブラウザに送られなかったとき(例えばブラウザで画像をダウンロードしない設定にしているなど)でも、見た目のイメージをいくらか保持できます。
#色指定 $cBg1 = '#FFFFFF'; #ノーマル状態の背景色(白) $cBg2 = '#FFCC66'; #警告の背景色(オレンジ) $cTx = '#006400'; #文字色 $cLi = '#8b0000'; #リンク文字色 $cVl = '#1e90ff'; #訪問済みリンク文字色 $cCard= '#F5F5DC'; #ふだの色(ベージュ)
スロットマシーンのように切り替わる番号のインターバル・タイム、投稿者のIPアドレスを記録するか、文節の最大文字数を変更できます。数字画像ファイルを変えた場合には、そのサイズも指定してください。
"daredoko.cgi"には,、管理者が文節を追加・削除するためのメンテナンス・モードがあります。メンテナンス・モードを活用するには、"daredoko.cgi"の「設定、適当に変更してください」〜「設定はここまで」の間にちょっとした設定をしておきます。
メンテナンス・モードに入るには、だれどこ画面の[メンテナンス]をクリックします。
誰でも文面を追加・削除できては困るのでパスワードを付けます。パスワードの初期値"0123"は必ず変更しておきましょう。
メンテナンス・モードにログインすると、テンポラリのセッションIDがブラウザ側のクッキーに送られ、あとの操作が管理されますが、ブラウザがクッキーを受け付けない設定になっている場合には、正規にログインしたのかどうか判断できません。そういう場合には$setdelkeyに削除キーを設定しておいてください。$setdelkeyがあると、"daredoko.cgi"は追加・削除操作の度に「削除キー」を聞いてきます。
$setpass = '0123'; #メンテナンス・モードのログイン・パスワード $setdelkey = ''; #ワードの削除キー、クッキーが有効なら不要。
パスワードだけでは心配な場合は、自分のIPアドレスからしかメンテナンスできないように設定できます。$sethostに「111.222.333.444」のようにIPアドレスを記入してください。もし、自分のIPアドレスが固定でないときは、「111.222.333」のように決まっている桁だけ書いておけば大丈夫です。初期値".*"は何でもOKの意味です。
$sethost = '.*'; #ホスト名にこの文字列を含まないとメンテナンスできない。
CGIが出したエラーメッセージはログ・ファイルに記録できます。たまにはログをチェックしてちゃんと動いているか確認するとベターです。ログ・ファイルはEUCで記録されますので、PCに転送して中を見る時には注意してください。
2003/1/28 | Ver.1.01p | kabalib.plの重大なバグを修正。(Ver.1.20) |
2002/9/16 | Ver.1.01 | デバッグファイルとログファイルをデータディレクトリの下に。 |
2002/5/26 | Ver.1.00 | つくりました |