トップ>CGIテイクアウト>
かるがるちゃっとシリーズ
かるがるちゃっと ver0.7.2 動作サンプル
かるがるちゃっとは,よけいな機能を排除してとにかく早く快適にチャットが楽しめるように
作られています。さらに,姉妹品の「かるがるアイちゃっと」と連携することで,パソコンの利用者と
iModeの利用者が一緒にチャットを楽しめます。
※注意! これはレンタルではなく御自分のサーバーに設置して使うタイプのチャットです。
よって,サーバーによりかなり重くなることがあります。特に夜中は動かなくなってしまう可能性もあります。
無料サーバーの中にはチャットCGIの設置を禁止しているところもありますので,規約に目をとおして下さい。
サーバーが原因と思われる動作不良について,こちらではいっさい責任はとれません。
>ダウンロード
(ZIP圧縮がかかっています。)
更新履歴
2001/09/16 ver0.7.2
・同時発言でログが消えるバグを修正。
2001/08/26 ver0.7.1
・バージョンナンバーが間違えていたので修正(汗)
・クッキーが正常に読み込まれないバグを修正。
・「発言/更新」ボタンを更新の目的で使った時も名前と色のデータを更新するように変更。
名前と色だけ変えられるようになりました。
2001/08/25 ver0.7.0 初公開バージョン
設置方法
※設置方法については,FTPクライアントによるHTMLファイルのアップロードなどは
できることを前提に書いてあります。
1:解凍・ファイルの確認
ダウンロードしたファイルを「lhasa」「MacLHA」などで解凍して下さい。中に入っているファイルは,
・chat.cgi(CGIプログラム)
・chat.log(チャットのログを保存するファイル)
・member.log(参加者表示に使われるファイル)
・colors.htm(色一覧)
・log.lock(ログファイルロックに使われるファイル)
・mem.lock(参加者ファイルロックに使われるファイル)
・cgi-lib.pl(フォームの入力情報を扱うためのライブラリファイルBy:Steven E. Brenner氏)
・jcode.pl(日本語を正常に扱うためのライブラリファイルBy:Kazumasa Utashiro氏)
の8つです。ファイル名は絶対に変えないで下さい。これからCGIプログラムをカスタマイズしていくので,
chat.cgiをテキストエディタで開いて下さい。
Macの使用者は,改行コードがWin用になっているので「SimpleText」だと行頭にゴミが出ます。
「JEdit」「YooEdit」などのエディタを使うと便利です。
2:Perlパスの確認
お使いのサーバーのホームページなどでサーバーのPerlパスを確認して下さい。
だいたいは「!/usr/local/bin/perl」になっているようです。
この段階で実はCGIがダメなサーバーだったと気付くとショックですので,
事前にしっかり確認しておきましょう(私も経験者です・・・汗)。
確認したら,chat.cgiの1行目を確認し,必要があれば書き換えて下さい。一番頭に「#」をつけるのを忘れずに。
3:ライブラリの設定
著作権表示の下にrequireで始まる行が2行あります。このCGIの動作に必要なライブラリファイル「cgi-lib.pl」と
「jcode.pl」の場所を指定します。5番で必要なファイルを転送しますが,基本的には同じフォルダに転送するのが
良いでしょう。その場合は「./〜」にしておいて下さい。「.」とは同じフォルダと言う意味です。
もし他にもCGIを使っていてライブラリファイルを共有したい場合は,その位置を指定しなくてはなりません。
例えば一つ前の階層におくなら「../〜」です。「..」とは,一つ前のフォルダと言う意味です。
応用するとどこでも記述できます。例えば・・・
cgi-bin
├lib
│└jcode.pl
└chat
├karu
│└chat.cgi
この状態でchat.cgiからjcode.plを指し示すには,「../../lib/jcode.pl」と打てば良いわけです。
4:カスタマイズ
いよいよチャットを好きなようにカスタマイズします。それぞれの項目の所に書いてある説明を参考に
書き換えていって下さい。その際の注意をいくつか書いておきます。
・「","」または「','」でかこまれた中を書き換えて下さい。"自体を書き換えたり,最後の;をとったりすると
動かなくなります。ログの保存数だけは囲まれていませんが,=と;の間に数字を入れて下さい。
・ただし,最初の行が「〜 = <<"EOM";」みたいな行で始まっているところは,その行は書き換えないで
その行と数行下に出てくるEOMの間を書き換えて下さい。間の行数は変えても大丈夫ですが,EOMの前後にスペースなどを
入れないようにして下さい。
・タイトルに「"」を入れたい場合は,「\"」として下さい。
5:必要なファイルを転送
まずはFTPクライアントを起動させ,ログインして下さい。転送は基本的にはHTMLファイルの場合と同じです。
全てアスキーモードで転送することになります。
chat.cgi,chat.log,member.log,colors.htm,log.lock,mem.lockの6つのファイルを同じフォルダに
転送して下さい。同じフォルダであればどこでも構いませんが,HTMLとCGIでサーバーが
別れている所(@niftyなど)は必ずCGIサーバーに転送して下さい。
次に,フォルダの階層を見て3で指定した所に「cgi-lib.pl」と「jcode.pl」が存在するかどうかを確認して下さい。
初めてCGIを設置する場合は,付属のものをついでに転送して下さい。
すでに「かるがるアイちゃっと」を設置している場合は,chat.cgiとcolors.htmだけを
アイちゃっととおなじフォルダに転送して下さい。chat.logを転送してしまうと,ログが全て消えてしまいます!
そこまで終わったら,パーミッションの設定をします。パーミッションは3桁の数字で示しますが,MacでFetchを
使っている人の為にチェックボックスでも表しておきます。
・chat.cgi,colors.htm,cgi-lib.pl,jcode.pl 755
読書実
オーナー×××
グループ×□×
その他 ×□×
・chat.log,member.log 666
読書実
オーナー××□
グループ××□
その他 ××□
なお,サーバーによってはCGIのパーミッションが決まっている所(トクトクなど)もあるので,サーバーの説明も
読んでおいて下さい。
.lockで終わる2つのファイルは,とくにパーミッションは気にしなくてもOKです。
6:動作チェック
ブラウザを開き,アドレス欄にchat.cgiへのアドレスを入力して下さい。成功すればチャットの画面が表示されます。
もしエラーが出た場合は,下記の場所を確認して下さい。
・カスタマイズに失敗した場合。
再び修正前のchat.cgiをダウンロードし解凍して,2,3だけやって(カスタマイズをせずに)
転送してみて下さい。これで正常に動いた場合は,カスタマイズ時にCGIを壊しています。
1ケ所ずつカスタマイズしては転送し,エラーが出たら直前の修正が原因です。
いろいろ試してみるとだんだん慣れてくると思います。
・ファイルの確認
2つのライブラリファイルの位置を確認して下さい。それから,chat.cgi・chat.log・member.log・log.lock・
mem.lockの5つのファイルが同じフォルダにあるかも確認して下さい。
・パーミッションの確認
5で解説した通りパーミッションが設定されているかどうかを確認して下さい。サーバーによっては,
chat.cgiのみパーミッションが違っているとエラーはエラーでも「Forbidden」と表示されます。
これが出たらほぼ間違いなくパーミッションの問題です。出ていない場合でも,ライブラリファイルやログファイルの
パーミッションが原因の時がありますので念のため調べてみて下さい。
・Not Foundと出た場合
アドレスの打ち間違いか,正常に転送できていなかったかのどちらかです。もしどちらも間違いないのに
Not Foundとでる場合は,サーバーが混雑している可能性があります。
ここまで調べても原因がわからない場合は,質問して下さればできる範囲でお答えいたします。もっとも
管理人もまだまだCGI初心者ですし環境も違うと思うので役にはたてないかも知れませんが・・・。質問は,
できればメールではなくサポート掲示板でお願いします。NIFTYのBBSみたいですが,一つの質問が他の人の
悩みを解決する事もありますので。。。
・おまけ。一部の日本語文字が文字化けしています。
まず,半角カタカナを使っていないかどうかを確認して下さい。もちろん半角カタカナはインターネットでは
禁止です。ところが,半角カタカナを使っていなくてもまれに文字が化ける事があります。これはこのCGIの言語である
Perlの仕様で,解決策としては化けたあたりに「\」を入れて下さい。主に化けた文字の前に入れると直る事が
多いようです。
機能についてのQ&A
(今後も多い質問を掲示していく予定です)
Q:発言の削除機能などはありますか?
A:機能としてはありません。ページ内に非管理者にはうっとうしい削除フォームを表示させたくなかったためです。
荒らされたりした場合は,チャット上で「しばらく書かないで下さい」と発言してからFTPでchat.logを受信し,
問題の発言を行ごと消してから再度転送,チャット上で「終了です。どうぞ御利用下さい」と書くなどして対応して下さい。
もしくは,チャットという性質上誰かと会話をして流してしまったり,ログを全て消してしまっても良いかと思います。
なお,要望があれば検討したいと思います。
Q:その他の荒らし対策は?
A:現在の所リモートホストによるアクセス制限の機能はありません。これについては実現させようと思っています。
もうしばらくお待ち下さい。m(_ _)mちなみに,ソ−ス表示にするとリモートホストがわかります。
Q:たまに参加者に同じ名前が出るのですが。
A:プロバイダーによっては接続中にころころとリモートホストを変える所があるようです。このチャットは
いつでもハンドルを変えられるように作ってあるため,リモートホストで参加者の判別を行っています。よって,
途中でリモートホストが変わると分裂してしまう事があります。これは今の所は対応策がありません。ゴメンナサイ。。。
ちなみに,同じプロバイダーの人でリモートホストが同じだと同一人物とみなされ,参加者には最後に書いた方しか
表示されません。御注意下さい。
Q:ちょっと席を立っていたら参加者から自分が消えちゃいました
A:このチャットは一部のチャットにあるような入退室の概念がありません。参加者には一度発言するとなりますが,
その後2分間一度も発言も更新もしないと消えてしまいます。2分経ってから更新した場合見学者として復活します。
なお,このシステム上「退室」をクリックしても最後の発言or更新より2分間は参加したままになります。
ご了承下さい。
トップに戻る