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