CGIクイズの設置例
(14.5.20掲載)(最終更新:18.10.19)
TakaQ2をinfoseekに設置する方法
設置例:三択クイズ info 版
はじめに
クイズのホームページ(HP)巡りをしていると、三択クイズなどで、
回答者のメッセイジを入力したり、成績を管理できるものがあります。
自分でもこんなクイズを作りたいと思っても、CGIを初めから作るのは大変です。
そこで、出来上がっているフリーのCGIを自分のHPに設置しようと思いました。
フリーのCGI、TakaQ2をダウンロード(DL)してさて設置。
しかし、解説書を見ても自分のサイトに設置する場合にどうしたらいいかが
書いてないので先に進めない。webのQ&Aを見てもわからない。
そこで行き詰まりを経験し、
チャットで知り合いのくるっく氏の助言を得てニフサイトに設置しました。
それから、クイズの更新を続けていますが、ニフやTakaQ2のサイトに宣伝掲載したら、
色々な人が挑戦してくれたり、メッセイジを残してくれてうれしくなります。
CGIの設置自体は少し面倒かもしれません。
でも、重要な変更内容はほんの一部です。
これがわかれば誰でもが自分で設置できます。
そこで、ニフで設置する方法を掲載しました。
http://hw001.gate01.com/sibaduke/takaq.setti.htm
その第二弾として、
今回はisweb.infoseekに設置する方法を解説することにしました。
HPを持っていない人、HPを持っていてもあまり自信のない人は
私のサイトで解説があります。参考にして見てください。
http://yoshi57.hp.infoseek.co.jp/mokuji1.HPtyatto.htm
CGI設置の環境は、windows98SE(Meでも可)を使い、
ブラウザはインターネットエクスプローラー5.01、
転送ソフトFTPはFFFTP、プロバイダーは infoseek
の場合です。
必要なもの
TakaQ2、自分のHP、転送ソフト(ここでは、FFFTPを使用して解説します)
転送ソフト
フリーウェアーのffftpがお勧めです。
ビルダーのFTPソフトを使用すると、転送はできますが、
ファイルが壊れ易いらしく、知り合いがやってみて設置できませんでした。
ffftpについては、
http://yoshi57.hp.infoseek.co.jp/ffftp.kaisetu.htm
で解説してあります。
TakaQを手に入れる
My Tools NET http://www.mytools.net/#tool
に、色々なプログラムが紹介されています。
この中の ◆ My CGI-BIN Tools http://www.mytools.net/cgitools/index.html
ここで、TakaQ2を選択すると、TakaQ Ver.2.05 説明書が表示されます。
この解説書を印刷して手元に置きます。
ソースの項目の下にある、「全ファイルをまとめてダウンロード」をクリック。
「 quiz200.Izh 」 という圧縮ファイルがデスクトップに表示されます。
これをLhasaなどの解凍ソフトで解凍します。
(解凍ソフトがない、解凍方法が分からない場合は、最後述の※を参照)
デスクトップにquiz200のフォルダーが表示されます。

これをクリックすると、

上図のように、プログラムその他のファイルが表示されます。
ここからは、TakaQ Ver.2.05 説明書の「インストール方法」を見ながら、作業をします。
ファイルの中味を変更する時は、半角英数です。これに気を付けて下さい。
以下に、
説明書の「インストール方法」の中の、2.〜 9.までを取り上げて、解説します。
2.4つのcgiファイルの最上部のPerlのパスを正しく設定する。
(解説)
ここでいう4つのcgiファイルは、
tqindex-cgi.txt
tqquiz-cgi.txt
tqscore-cgi.txt
tqadmin-cgi.txt
これらのファイルを一つずつ開きます。
まず、tqindex-cgi.txtを開きます。

左上の #!/usr/local/bin/perl の部分が、「最上部のPerlのパス」です。
infowebの場合はこの表示でOK。
他の3つのcgiファイルも、#!/usr/local/bin/perl になっていることを確認します。
もし、違う記述になっている場合は、このように直して上書き保存します。
3.tqlib.pl の以下の変数を編集する。
(※ Ver.2.03以前はこれらの変数が各.cgiファイルに散在しています。)
※注1 データファイルを .cgiと同じ場所に置く場合は
$basedir="."; と書いて下さい。
※注2 post が禁止されているサーバーでは get に変更して下さい。
※注3 sjis以外に変更する場合は、
全てのプログラムをnkfなどでそのコードに変換してください。
※注4 @ の前に必ず \ を付けてください。(例) $email="nishida\@big.or.jp";
(解説)
まず tqlib-pl.txt を開いて、赤字のように変更します。
# データファイルのディレクトリ
$basedir = ".";
# CGIプログラムの拡張子
$ext = "cgi";
# フォーム内容の送信方法
$method = "post";
# 文字コード
$code = "sjis";
# 管理者メールアドレス
$email = "your\@mail.address"; ⇒ 自分のメールアドレス。@の前に¥をつける。
# 「戻る」を押したときに移動するURL
$backurl = "http://your.top/page.html"; ⇒ 自分のHPのtopページのURL。
例) $backurl = "http://yoshi57.hp.infoseek.co.jp/index.htm"
メールアドレスは表示したくなければ入れなくて可。
変更したら上書き保存をします。
4.tqadmin.cgi の以下の変数を編集する。
(解説)
tqadmin.cgi を開いて、
$password = "TakaQV204"; ⇒ "自分の好きなパスワード"
変更したら上書き保存。
5.cgi、.plファイルをFTPのアスキーモードで転送する。
パーミッションは、.cgiを705、.plを604に設定する。。
※ FTPについてはプログラムをFTPで送るを参照。
※ パーミッションについてはパーミッションを設定するを参照。
(解説)
ここでファイルの名前を訂正します。
以下の各ファイルを右クリック、名前の変更をクリック。
− を消して . にして、 .txtを消します。
(ドットは半角。ここではわかりやすく表示するために間隔が開いています。)
tqindex-cgi.txt ⇒ tqindex.cgi
tqquiz-cgi.txt ⇒ tqquiz.cgi
tqscore-cgi.txt ⇒ tqscore.cgi
tqadmin-cgi.txt ⇒ tqadmin.cgi
tqlib-pl.txt ⇒ tqlib.pl
jcode-pl.txt ⇒ jcode.pl
まず、tqindex-cgi.txt ファイルを右クリック。

名前の変更をクリック。tqindex の後にカーソルを合わせてクリック。

Deleteを押して、− を消して、 . を打つ。
次に、cgiの後にカーソルを合わせてクリック。 .txt を消す。
これで、tqindex-cgi.txt ⇒ tqindex.cgi
何もないところでクリックすると、

というコメントが出る。「はい」をクリックすると、

アイコンがこのように変わる。同様に、
tqquiz-cgi.txt ⇒ tqquiz.cgi
tqscore-cgi.txt ⇒ tqscore.cgi
tqadmin-cgi.txt ⇒ tqadmin.cgi
tqlib-pl.txt ⇒ tqlib.pl
jcode-pl.txt ⇒ jcode.pl と変更。
フォルダー内に、
tqindex.cgi tqquiz.cgi tqscore.cgi
tqadmin.cgi tqlib.pl jcode.pl
のファイルが揃ったら、
この6つのファイルを、HPのファイルが入っているフォルダーに入れます。
FTP転送ソフト(FFFTPなど)を起動し、接続。
普段、HPのファイルを転送しているホスト側(右側)に、
cgi−binフォルダーがある場合はそのままで。
ない場合は、ホスト側(右側)の何もない所で右クリック。フォルダ作成をクリック。


半角英数で、cgi-bin を入れて、OKをクリック。

isweb.infoseekでは、cgiファイルとその他のデータファイルは一緒に設置します。
cgi−binフォルダーをダブルクリックすると、初めての場合は中は空白です。
以前に他のcgiファイルを入れてある場合は、そのままで構いません。

ここに、
tqindex.cgi
tqquiz.cgi
tqscore.cgi
tqadmin.cgi
tqlib.pl
jcode.pl
の6つのファイルをアスキーモードで転送します。
2で自動を選択していれば、転送モードを自動で変えてくれます。
転送できたら、
右側(ホスト側)の6つの各ファイルを右クリックして、属性の変更をクリック。

tqindex.cgi
tqquiz.cgi
tqscore.cgi
tqadmin.cgi
の4つは現在の属性を705に変更して、OKをクリック。
tqlib.pl
jcode.pl
の4つは現在の属性を604に変更して、OKをクリック。
6.$basedirで指定したディレクトリ ( $basedir="."; の場合は .cgi と同じディレクトリ)に
以下の5つのデータファイルをFTPのアスキーモードで転送する。
パーミッションは全て606に設定する。
(解説)
デスクトップのquiz200のフォルダーの中にある、
tqtop-html.txt と、tqquiz-html.txt のファイル名を変更します。
各ファイルを右クリックして、名前の変更をクリック、
tqtop-html.txt ⇒ tqtop.html
tqquiz-html.txt ⇒ tqquiz.html
次に、空ファイルを3つ作ります。
スタート、プログラム、アクセサリ、で、メモ帳を開きます。
ファイル、名前を付けて保存で、ファイル名を message にして、デスクトップに保存。
続けて、
メモ帳のファイル、名前を付けて保存で、ファイル名を genre にして、デスクトップに保存。
もう一つ、同様に ファイル名 tqlog にして、デスクトップに保存。
これで、空ファイルが3つできました。各ファイル名には後に txt が自動でつきます。
この3つと、さっき名前を変更した2つのファイル、
tqtop.html
tqquiz.html
message.txt
genre.txt
tqlog.txt
これらを、HPファイルが入っているフォルダーに移動します。
FTPを開いて、FTPの左側(ローカル側)に今移動したファイルがない場合は、
階層を一度上に上げます。上への矢印○印をクリックしてから、

もう一度、HPファイルがあるフォルダーをダブルクリックします。
すると、移動した新しいフォルダーが表示されます。
FTPの左側(ローカル側)のファイル名(txtなどの拡張子)を確認して下さい。
先程と同じように、
右側(ホスト側)のcgiフォルダーのなかに転送します。
ホスト側で各ファイルを右クリック、属性の変更をクリックして、
現在の属性を606に変更して、OKをクリック。
7.上と同じディレクトリに、ディレクトリlog、data、lockdirを作る。
パーミッションは全て707に設定する。
(解説)
空のフォルダーを3つ作ります。
今までのHPファイルが入っているフォルダーの中の、何もない所で右クリック。
新規作成をポイント、フォルダーをクリック。
キーボードのBackSpaceを押して、名前を log にして何もない所をクリック。
同じように、data と、lockdir という名のフォルダーも作ります。
次にFTPで転送しますが、
この時も、FTPの左側(ローカル側)に今作ったフォルダーがない場合は、
階層を一度上に上げます。上への矢印○印をクリックしてまた下へ戻ります。
先程と同じように、
右側(ホスト側)のcgiフォルダーのなかに転送します。
ホスト側で各フォルダーを右クリック、属性の変更をクリックして、
現在の属性を707に変更して、OKをクリック。
8.ディレクトリlogの下に、データファイルcount.txtをFTPでアスキー転送する。
パーミッションを606に設定する。
(解説)
空のテキストファイルを1つ作ります。
6.と同じように、
スタート、プログラム、アクセサリ、で、メモ帳を開きます。
ファイル、名前を付けて保存で、ファイル名を count にして、デスクトップに保存。
HPファイルが入っているフォルダーに移動。
FTPで転送時、
FTPの左側(ローカル側)に今作ったファイルがない場合は、
階層を一度上に上げます。上への矢印○印をクリックしてまた下へ戻ります。
右側(ホスト側)の log フォルダーをダブルクリックして開きます。
中は空です。そこに、count.txt を転送します。
転送後、ホスト側のcount.txt を右クリック。
属性の変更をクリックして、現在の属性を606に変更して、OKをクリック。
ここまでで、転送は一応完成です。
ホスト側に下図のようなファイルやフォルダーが表示されていますか?
logフォルダーをダブルクリックすると、 count.txt がありますか?

9.ブラウザからtqindex.cgi、tqadmin.cgiの両方にアクセスしてみる
→ HTMLが表示されればOK。
※ 表示されない場合、ブラウザでアクセスするを参照して問題を解決してください。
ここまでできたら、次の「ジャンルを作ってみる」にお進み下さい。
(解説)
例えば、homepageのURLが、
http://yoshi57.hp.infoseek.co.jp/index.htmの場合、
http://yoshi57.hp.infoseek.co.jp/cgi-bin/tqindex.cgi
がCGIの置いてあるURLになります。
インターネットエクスプローラー(IE)で、このURLを入力して確認します。

これが表示できればOK。
ここまでできたら設置は殆ど終了です。
あと、もうひと頑張りです。
FTPの左側(ローカル側)の tqtop.html をダブルクリック。
すると、自分のパソコン上のtopページが開きます。
表示をクリック、ソースをクリック。

すると、以下のように、topページの中味がHTMLで表示されます。
この中の記述と、上の図を比較してください。
変更する個所は、赤字の部分です。日本語表記部分は普通に変換して入力します。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
<HTML>
<!-- ***** タイトル、背景を書いてください ***** -->
<HEAD><TITLE>TakaQ INDEX</TITLE></HEAD>
<BODY BGCOLOR="#CCCCFF"><FONT SIZE="2">
<!-- ***** 戻り先のURLを入力してください ***** -->
[<A HREF="http://your.homepage/">戻る</A>] ⇒上図のAの部分
[<A HREF="tqindex.cgi">TakaQ Top</A>] ⇒上図のBの部分
[<A HREF="tqscore.cgi?act=rank">成績一覧(Top10)</A>]
[<A HREF="tqadmin.cgi">管理用</A>]
[<A HREF="http://www.mytools.net/quiz/tbookmark.cgi" TARGET="_blank">
他のクイズサイトへ</A>]<P>
<!-- ***** 見出しやクイズの説明など、自由に書いてください ***** -->
<CENTER><H2>TakaQ INDEX</H2></CENTER>
説明文はここに書く。<B>HTMLも使えます</B>。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
自分に必要な変更をして、上書き保存をし、FTPで上書き転送します。
転送先を間違えないように注意。ホスト側に元あったものを上書きします。
net上で、ページを更新して変更されているかを確認します。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
変更例
<HTML>
<!-- ***** タイトル、背景を書いてください ***** -->
<HEAD><TITLE>三択クイズinfo版</TITLE></HEAD>
<BODY BGCOLOR="#CCCCFF"><FONT SIZE="2">
<!-- ***** 戻り先のURLを入力してください ***** -->
[<A HREF=
"http://yoshi57.hp.infoseek.co.jp/index.htm">戻る</A>]
[<A HREF="tqindex.cgi">三択クイズ info版 Top</A>]
[<A HREF="tqscore.cgi?act=rank">成績一覧(Top10)</A>]
[<A HREF="tqadmin.cgi">管理用</A>]
[<A HREF="http://www.mytools.net/quiz/tbookmark.cgi" TARGET="_blank">
他のクイズサイトへ</A>]<P>
<!-- ***** 見出しやクイズの説明など、自由に書いてください ***** -->
<CENTER>
<H2>三択クイズ info版<P>漢字編・その他のジャンル</H2></CENTER>
<CENTER><B>ー新しいものは、上にありますー<P>
漢字、その他に関する3択クイズです。<P>
挑戦をクリックすると問題が表示されます。<P>
答えを一つ選んでOKをクリックしてください。</B> <P>
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
上記のように変更すると、下図のようになります。

上記の例に手を加えたものが
http://yoshi57.hp.infoseek.co.jp/cgi-bin/quiz200/tqindex.cgiです。
これで設置は終了です。
この後は、
次の「ジャンルを作ってみる」に進みます。
ここからは解説書通りに作業すればクイズが作れます。
(問題点)
net上でCGIが表示されない。エラーが表示される。
(対策)
変更箇所の記述は、半角英数で正確でないとエラーになります。
ドット一つなくてもエラーになります。
1.ファイル名は正確に変更されているか、
FTPの左側(ローカル側)を確認。
修正して再転送。
※FTPの右側(ホスト側)でファイル名を変えても反映されない場合があります。
2.プログラム内容は正確に変更されているか、を確認。
修正して再転送。
※FTPの右側(ホスト側)でプログラム内容を変えても反映されません。
左側(ホス側)で修正したものを再転送します。
3.各ファイルは正確な位置に転送されているか、を確認。
あとがき
CGIの設置ができなくて、入門書を買って読みましたが、これがまた難しい(笑)
プログラムの基本を読んでもチンプンカンプンです。
ただ、完成したCGIの設置は、プロバイダーの指定する記述にしたり、
変更箇所が正確な命令文になってさえいればOK。
CGIが正常に稼動しないのは、どこかに変更間違いがあるからです。
「コンピューターは命令された仕事しかしない」という名言があります。
どうしても問題作成までたどり着けない場合や、
必要な変更以外の作業をして元のプログラムに戻せない場合は、
もう一度DLし直して、作業をやり直して見てください。
ここで解説している環境は、
windows98SE(Meでも可)を使い、
ブラウザはインターネットエクスプローラー5.01、
転送ソフトFTPはFFFTP、プロバイダーはinfoseek
の場合です。
解説に間違いがないことを祈ります。
H14.5.20
付録
※解凍ソフトのない方
解凍ソフトを手に入れる
「窓の杜」のホームページで、圧縮・解凍ソフト「+Lhaca」(無料)をダウンロードする。
以下のURLをクリック。
http://www.forest.impress.co.jp/
「ソフトライブラリ」の中の、
ジャンル別一覧
圧縮・解凍・ランタイム をクリック
圧縮・解凍の中の、圧縮・解凍をクリック
圧縮・解凍の中の、+Lhaca の文字をクリック
+Lhacaのページの
DOWNLOAD
115KB
をクリックしてダウンロード。
(※18.10.19現在のページ仕様です。置いてある場所は今後変更の可能性あり)
「このプログラムをディスクトップに保存する」を確認。
「名前を付けて保存」の中、保存する場所がディスクトップであることを確認。
「保存」をクリック。
「ダウンロードの完了」が表示されたら、「閉じる」をクリック。
ディスクトップの「Lhaca075.EXE」のアイコンをクリック。
「Lhaca075をインストールします」の表示が出るので、
「OK」をクリック。
readme.txtが開くので内容に目を通したら×で閉じます。
デスクトップに +Lhaca のショートカットアイコンができています。
ダウンロードしたファイル「Lhaca075.EXE」はごみ箱に捨てても大丈夫です。
デスクトップにある「・・・・・.lzh」というの圧縮ファイルを、
左クリックしたまま移動(ドラッグ)して、
解凍ソフト「+Lhaca」の上に重ねて、手を離す(ドロップ)。これで解凍終了。
ファイルが開きます。