チャットシステムver4.3
このチャットシステムの特徴と問題について説明します。特徴は以下の通りです
- プログラムはC言語で書かれています。
- GETメソッドを使用しています。
- タグが使用できます。(いたずらが嫌な人は、パスワード入室に改造してください。)
- 利用状況が分かります。
- ブラウザにフレーム機能がなくてもチャットはできます。
- 1対1対話モードがあります。(フレーム対応ブラウザのみ)
- プログラムが分散化していて、かなり多いです。
注意事項
- このプログラムはフリーウエアです。しかし、著作権は放棄しません。
私の承諾なしに複製して他の人に提供したりしないでください。
- 私が求めればプログラムの使用を中止させる権限を持つものとします。
- チャットを設置する場合、メールで、
私にチャットを設置するURLを教えてください。
- このプログラムを走らせることで問題が発生したとしても、私は責任をもてません。
- あらかじめC言語が使えることを確認してください。
- 念のために書いておきますが、これはサーバ管理者が一般ユーザのCGI使用を許可していないと使えません。
以上を受諾する方は、次の設置手順へ進んでください。
チャットの設置手順
まず、必要なファイルとプログラムをダウンロードしてください。
<HTMLファイル>
chotchat_html.txt................インデックスページ
henter_html.txt..................フレーム分割
go3_html.txt.....................入室フォーム
new3_html.txt....................お掃除ページ
<C言語ファイル>
fram3_cgi.c......................フレーム分割
say3_cgi.c.......................入室処理と発言フォームの表示
chat3_cgi.c......................発言をデータファイルに書き込む
vewlog3_cgi.c....................チャットデータファイルを表示する
out3_cgi.c.......................退室処理
vcust3_cgi.c.....................利用状況、1対1対話メッセージ表示
whisp_cgi.c......................メッセージ入力フォームの表示
whisp3_cgi.c.....................メッセージ書き込み
addcust3_cgi.c...................利用状況ファイルに名前を追加
delcust3_cgi.c...................利用状況ファイルから名前を削除
sakujo3_cgi.c....................マニュアル削除の名前表示
delete3_cgi.c....................マニュアル削除
nfgo3_cgi.c......................ノーフレーム入室フォーム表示
nfsay3_cgi.c.....................ノーフレーム発言フォーム表示
nfchat3_cgi.c....................ノーフレーム発言書き込み表示
new3_cgi.c.......................データファイルを掃除する
nkf.c............................漢字コードの統一処理
cgiparse2.c.........................引数のコード変換(サーバで手に入る場合はダウンロードしなくてもいいです)
※もし、C言語ファイル、chat3_cgi.c、vcust3_cgi.c、nfchat3_cgi.c、nfgo3_cgi.c
がコンパイルできなかった場合は次のを使ってみて下さい。
chat3_cgi.c
vcust3_cgi.c
nfchat3_cgi.c
nfgo3_cgi.c
ソースはブラウザに表示されると思うので、そのままセーブしてください。ダウンロードが済んだら、
各ファイルをftpを使うなどして自分のホームディレクトリに移動してください(binaryモードで行うのがいいと思います)。
HTMLファイルはHTMLドキュメント用のディレクトリへ、C言語ファイルとcgiparseはCGIが使えるディレクトリへ移動してください。
HTMLファイルは拡張子.txtを消して、_htmlを.htmlにしてください。
次に、HTMLの内容とC言語のソースを書き換えなければなりません。
まず、henter.htmlを書き換えます。viやemacsなどのエディタを使ってhenter.htmlを開いてください。
frame src="/cgi-bin/vcust3.cgi?name=nothing" というのがあると思いますが、この /cgi-bin/ を自分のところのvcust3_cgi.cがあるパスに書き換えてください。
絶対パスでかけばまず問題ないと思います。
次に、chotchat.htmlを書き換えます。名前やデザインは各自でカスタマイズしてください。
a href="../cgi-bin/nfgo3.cgiというリンクとa href="http://graph.ike.tottori-u.ac.jp:8080/itihara/new3.html"
というリンク、a href="http://graph.ike.tottori-u.ac.jp:8080/itihara/"
というリンクをそれぞれnfgo3_cgi.cのあるアドレス、new3.htmlのあるアドレス、自分のホームページのあるアドレス
に書き換えます。
次に、go3.htmlを書き換えます。form method="get" action="../cgi-bin/fram3.cgi" というのがあると思いますが、
その../cgi-bin/を同じようにCGIのあるパスに書き換えます。
また、最後の方にhttp://graph.ike.tottori-u.ac.jp:8080/itihara/chotchat.htmlへのリンクがありますが、
そのURLをchotchat.htmlを設置したページのURLに書き換えます。
その上の http://graph.ike.tottori-u.ac.jp:8080/cgi-bin/new.cgi
というのをnew_cgi.cのあるCGIのURLに書き換えます。(new.cgiはnew.cgiのままでね)
最後にnew3.htmlを書き換えます。form action="../cgi-bin/new3.cgi"をnew3.cgiのあるアドレスに書き換えます。
これで、HTMLファイルの書き換えは終了です。
次に、C言語のソースを書き換えます。(nkf.cとcgiparse2.cは書き換え不要)
C言語のソースは各プログラムを覗くと最初の方に#defineでCHAT_FILEやCGIPARSE_RLなどのグローバル変数を定義しているところがあります。
そこの定義内容をそれぞれ自分のところの正しいパスやURLに書き換えるわけです。
例えば、/home/keisanC/itihara/cgi-bin/chat3dat というのは私のパスですから、自分のところのディレクトリ
/home/usr/www/~itihara/cgi/chat3dat(仮)という風に、
http://graph.ike.tottori-u.ac.jp:8080/cgi-bin/vewlog3.cgiも私のURLなんで
http://www.sainet.or.jp/~itihara/cgi/vewlog3.cgi(仮)という感じに書き換えるわけです。
このパスやURLは間違えると動かなくなるので注意してください。
あと、chat3datとかcgiparse -value cnameなどの末尾に書かれたファイルネームやオプションは書き換えないでください。
書き換えがすべてのファイルで終了したら、C言語ソースをコンパイルします。
コンパイルは次のように行います。
>cc -o say3.cgi say3_cgi.c
このccというのは私のところでコンパイルする場合のコマンドです。サーバによって名前が違かもしれませんので、
わからない場合は調べてください。ファイル名はもとの.cという拡張子を消して_を.に変えたものにします。
すべてのC言語ソースが無事コンパイルできたら、あとは、チャットデータファイルを作成します。
>new3.cgi
シェル上で上のように打ってお掃除プログラムを実行すれば、chat3datとcustdatというファイルが作成されます。
さらに、漢字処理用のファイルcommon3と最終発言時刻ファイルtimedatを作ります。
>touch common3
>touch timedat
最後に、各ファイルのパーミッションを設定します。
拡張子が.cgiとつくものは
>chmod 755 ファイルネーム
chat3dat、common3、custdat、timedatは
>chmod 666 ファイルネーム
のように設定します。
これで、準備完了です。Netscape2.0以上のブラウザなどでchotchat.htmlを呼び出してみてください。
異常なくチャットが出来れば、自分のホームページにchotchat.htmlへのリンクを貼るなどしてください。
もしだめだったら、わたしのところに症状を書いて、メールをください。
わかる範囲で、答えますので。
戻る
written by Hajime Ichihara 1996/10/31