INTERNET Watch Title

Click


【特集】

ホームページにWebチャットサービスをつけてみよう

 掲示板、カウンターに続いてホームページのサービスで人気があるのは、Webチャッ
トだ。Webチャットとは、Web上で閲覧者がリアルタイムにチャット(会話)ができるもの。掲示板が、書き込む時間に関係なく連絡するにはもってこいのシステムであるのに対し、Webチャットは同じ時間にアクセスしている人とリアルタイムに会話を楽しめる。

 Webチャットも、レンタルチャットを利用できるほか、フリーソフトやシェアウェアなどの形態で配布されているものを使って自分で設置することもできる。
 そこで、今回はWebチャットの設置の仕方を紹介したい。


Contents

●Webチャットってなんだろう?
● レンタルWebチャットと、自分で設置するWebチャットCGIどっちがいい?
● レンタルWebチャットを利用してみよう
● WebチャットCGIについて
● WebチャットCGIを設置しよう
● Webチャットの運用、メンテナンス


●Webチャットってなんだろう?

 Webチャットは、WWWサーバーと主にCGIによって構成される。ページを訪れた人が読み書きできるシステムで、掲示板と似ている。少し異なるのは書き込んだその場で別の人間が読み、それに対応してまた書き込むといった具合に会話が続けられるところだ。掲示板では、今その場に誰がいるのかわからないのに対して、Webチャットの場合、システムによっては訪問者がログインできるようになっており、そのメンバーリストが表示されるようになっているものもある。

 また、書き込みを読むにはホームページをリロード(再読み込み)する必要があるが、Webチャットシステムによっては自動でリロードする機能があるものもある。ただし、ホームページがいつ更新されたかを調べるにはリロードをしなければわからないように、Webチャットの場合もリロードするまでは書き込みがなされたかどうかはわからない。よって、30秒ごとにリロードをすれば書き込みをしてから最大30秒は他の人は読まないといったことになる。もちろん、間隔を15秒、10秒と縮めれば早く書き込みを読むことはできるが、ただでさえサーバーに負荷を与えるWebチャットCGIがさらに動作する数が増えるとなると、サーバーに過負荷がかかるのであまり良くない。

 過負荷がかかるとサーバーが停止したり、チャットが非常に遅くなったりして返って悪影響がある。また、プロバイダーに迷惑がかかるので注意が必要だ。

●レンタルWebチャットと、自分で設置するWebチャットCGIどっちがいい?

 Webチャットを設置する方法は、主に2種類ある。無料または有料でレンタルできる
「レンタルWebチャット」を利用する方法と、CGIが動作するサーバーに自分で「Web
チャットCGI」を設置する方法だ。Webチャットの設置の難易度やカスタマイズ(改造)の可否などの点は、掲示板と同じなので、掲示板設置の解説を参照していただきたい。

 先ほども説明したとおり、Webチャットと掲示板の大きな違いは、サーバーへの過負荷だ。多くのプロバイダーは、ホームページサービスは提供しているが、CGIはHTMLファイルのみを公開する場合に比べてサーバーに負荷がかかることから、許可していないところもある。CGIを許可しているプロバイダーであってもWebチャットの負荷を避けるために「Webチャット不可」としているところもあるのだ。
 よって、CGIが許可されていても「Webチャット不可」とされている場合や、自分でサーバーを持っていても負荷を避けて置きたくない場合は、レンタルWebチャットを利用したり、Webチャット部分だけ「Webチャット許可」としているプロバイダーに置く方法が考えられる。
 また、インターネットにはWebチャット以外にも、MS-NetmeetingやIRCなどのチャッ
トもあるので、そういったシステムを使うのもいいだろう。

●レンタルWebチャットを利用してみよう

 レンタルWebチャットを利用する場合、ほとんどのサービスは、配色や背景の指
定、名前やメールアドレスなどを登録するだけで受けられる。チャットが開設された
た自分のホームページにチャットへのリンクを貼り付ければよいだろう。

■レンタルCGIチャットサービス

http://www.infojapanese.com/info/svchat.html
月額500円のレンタルWebチャットサービス。チャットにはネットサーフレスキューのWebCHATやInterCHATを使用している。

■レンタルCGI

http://www.kirara.com/home/
各種のCGIをレンタルするサービス。チャットは月額500円で、パスワードによるチャット利用制限が付いている。

■レンタルサービス

http://www.kinet.or.jp/wat/rental/sample/chat/chat_sample.shtml
各種のCGIをレンタルするサービス。チャットは有料だが、広告つきは無料。チャットにはシンプルCHAT、ハイパーチャット、ゆいちゃっとを使用している。

■Kilimanjaro Pro - Yet Another Chat System

http://cafebabe.hypermart.net/chat/
こちらはCGIでなくJava言語で作成されたマルチクライアント方式のリアルタイム・チャットシステム。クライアント同士で図形などを描画できるホワイトボード機能などもある。無料で利用できる。

■Jetchat Navigator
http://www.avion.co.jp/jetchat/
Javaを利用した無料のチャットルームレンタルサービス。誰かが入ってくると知らせてくれるチャイム機能や、秘話モード(内緒話)などもある。

■ダイフクチャット
http://www.daifukuya.com/chat/
Javaアプレットを利用したチャットシステム。自分のホームページに指定されたHTMLタグを埋め込んで利用する。現在ベータテスト中だが、誰でも設置できる。料金は無料。パラメータを指定すれば、背景や文字の色を変えられる。

●WebチャットCGIについて

 続いて、WebチャットCGIについて紹介しよう。CGIはWWWサーバーと連動して動作するプログラムなので、予めCGIが動作するWWWサーバーを用意しておく必要がある。
 WebチャットCGIも自分でプログラミングすれば、自分の好きなように動作するシステムを作ることができるのだが、そのためには、C言語やPerlなどの知識も必要となる。さらに、ユーザーの入退室管理やログ管理などかなり高度な技術を必要とするので、初心者には難しいだろう。
 自分でイチからプログラミングをしなくても、フリーソフトやシェアウェアなどの形態で配布されているWebチャットCGIがあるので、これを利用すれば、プログラミングの知識がなくてもWebチャットCGIの設置ができる。
 以下にWebチャットCGIを配布しているサイトを紹介する。WebチャットCGIを配布しているサイトでは、デモを用意しているところも多いので、デモを試して気に入ったものを見つけよう。また、掲示板CGIの解説の際に紹介したサイトなども見ておくとよいだろう。

■ゆいちゃっと
http://www.cup.com/yui/
各種のCGIがダウンロードできる。ゆいちゃっとは機能も高く、また使いやすい。目的別に各種のチャットを用意している。各チャットには設置方法のほか、カスタマイズ方法も紹介されているのである程度知識があれば参考になる。

■ネットサーフレスキュー[Web裏技]
http://www.rescue.ne.jp/
各種の有名なCGIがダウンロードできる。WebチャットCGI設置情報も数々掲載されており、自分のサーバー用の情報があれば悩むことなく掲載できる。自分のサーバーの情報がなくてもヒントになる。

■カスタムチャット
http://www2.inforyoma.or.jp/~terra/cgi/custom/customchat.htm
Perlの場所や背景、配色などを指定すると、自分用にカスタマイズされたWebチャットCGIをダウンロードできるサイト。作成中にプレビューしながらカスタマイズできるので、とてもわかりやすい。カスタマイズがわからない人にオススメ。

■TryTheHomePage
http://www2.inforyoma.or.jp/~terra/
各種のCGIがダウンロードできる。プログラムはWeb経由でなくメールで送られるので、ダウンロードの失敗などを気にしなくてもよい。

■KENT WEB
http://www.kent-web.com/
http://www.kent-web.com/chat/
各種のCGIがダウンロードできる。Webチャットを設置するための情報のほか、自宅マシンでテスト環境を作成するための情報もある。

●WebチャットCGIを設置しよう

 では、実際にWebチャットCGIを設置する方法を紹介しよう。
 ここでは「ゆいちゃっと」に掲載されている「ゆいちゃっとPro 1.0」を例に紹介する。これ以外のWebチャットCGIの場合も似たような手順になると思うので、WebチャットCGIに付属されている説明書やホームページを見て作業しよう。

WebチャットCGIを設置する手順

- 1.WebチャットCGIが動作する環境を調べる
- 2.WebチャットCGIが動作する環境か調べる
- 3.CGIをダウンロードする
- 4.WebチャットCGIをサーバーに合わせる
- 5.サーバー側を設定する
- 6.ファイルをアップロードする
- 7.ファイルのパーミッションの変更
- 8.動作確認をする

1:WebチャットCGIが動作する環境を調べる

 WindowsのソフトがWindowsでなければ動作しないように、WebチャットCGIも想定された環境でなければ動作しない。
 「ゆいちゃっとPro 1.0」はUNIX上の「Perl」をターゲットにして作られたものなので、これを設置する場合は、UNIXサーバーでかつPerlがインストールされている必要がある。


2:WebチャットCGIが動作する環境か調べる

 自分のプロバイダー(あるいは自分のサーバー)がWebチャットCGIの動作する環境かどうかを調べるには、プロバイダーなどが用意している説明書で確認するのがよいだろう。ここで、サーバーOSの種類やPerlの有無、Perlのバージョンなどが利用するWebチャットCGIの動作環境に合うかどうかを確認しよう。
 また、プロバイダーによってはCGIが許可されていても、CGIの機能の一部が制限されていたり、WebチャットCGIだけは使用できないということがあるので、契約書なども読んでそれも確認しよう。
 なお、WebチャットCGIのドキュメントや配布サイトに、プロバイダー別の動作確認について書かれていることもある。その場合は確認は簡単だ。
 どう調べても環境がわからなかったり、WebチャットCGIが動作するのかの可否について書かれていない場合は、プロバイダーなどに質問して確かめる方法もある。ただし、「このCGIは動作するのでしょうか?」といきなり尋ねられても、プロバイダー側では困ってしまうので、「CGIは動作するのか、WebチャットCGIは使用可能か、どのような制限がなされているのか」など動作環境の必要項目を具体的に確認して、後は自分でWebチャットCGIの説明書と照らし合わせよう。
 プロバイダーによっては、Webチャットの負荷を避けるためにCGIを削除してしまうこともあるので、要注意だ。


3:CGIをダウンロードする

 CGIをダウンロードするときには、先に必要なファイルをチェックしておこう。CGIによっては、データファイルや外部プログラムを利用するものなどもあり、別にダウンロードする必要がある。
 「ゆいちゃっとPro 1.0」の場合、ダウンロードするファイルは「pref.cgi」、「chat.cgi」、「enter.cgi」、「index.html」、「jcodeLE.pl」と、必要に応じて「tool.cgi」と「kill.cgi」だ。
 また、「jcodeLE.pl」は、漢字コード変換プログラム「jcode.pl」を「ゆいちゃっと」用に作り替えた物であるそうで、正規の「jcode.pl」よりも軽いということだ。「jcode.pl」は、その後バージョンアップされているので、必要に応じて正規の「jcode.pl」と使う必要もあるかもしれない。なお、「jcode.pl」を使う場合には、すでにサーバーで用意されている場合は必要ない。

 ダウンロードする場合、例えば「pref.cgi」をクリックすると「pref.cgi.txt」がブラウザーに表示されることがある。それを「pref.cgi」というよう名義でセーブすればよい。「index.html」は「index.txt」が表示されるので「index.html」でセーブする。「設置マニュアル」もファイルにセーブして、いつでも読めるようにしておこう。

■ゆいちゃっと - ゆいちゃっとPro 1.0
http://www.power.co.jp/tm/yuiyui/chat/free/Pro/

■漢字コードコンバートPerlライブラリ「jcode.pl」
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/


4:WebチャットCGIをサーバーに合わせる

 ダウンロードしたWebチャットCGIを動作させるには、プログラムの一部をサーバーに合わせて、テキストエディターで書き換えなければならない。難しい作業ではあるが、WebチャットCGIの中に「ここを書き換える」といった説明があるので安心してほしい。
 「ゆいちゃっとPro 1.0」の場合は、以下のとおりだ。

 (1) Perlの設定をサーバーに合わせる

 Perlで組まれたWebチャットCGIは、一番先頭の行に「Perl」の場所が書かれている。これをインストールするサーバーに合わせる必要がある。
 「ゆいちゃっとPro 1.0」の場合は、「chat.cgi」と「enter.cgi」を書き換える。オリジナルでは「#!/usr/local/bin/perl」となっている。
「/usr/local/bin/perl」以外にPerlがある場合は、「#!」以降を書き換えよう。

 (2) jcodeLE.pl(jcode.pl)の設定をサーバーに合わせる

 多くのCGIでは、日本語を使用する場合、漢字コードを変換する外部プログラム
「jcode.pl」が必要となる。サーバーにすでに「jcode.pl」が用意されている場合は、そちらを使うこともできる。
 「ゆいちゃっとPro 1.0」の場合は、「3:」でダウンロードした「ゆいちゃっと」用に作られた「jcodeLE.pl」を使えばよい。その場合にはなにも変更する必要がない。
 サーバーにすでに「jcode.pl」が用意されている場合や、正規の「jcode.pl」を使いたい場合は、「chat.cgi」と「enter.cgi」の中でjcodeLE.pl(jcode.pl)を呼び出している部分を書き換える必要がある。オリジナルでは「require './jcodeLE.pl';」となっている。これを、「require './jcode.pl';」や「require '/usr/local/bin/jcode.pl';」などのように変更する。

 (3) sendmailの設定をサーバーに合わせる

 WebチャットCGIによっては、Webチャットにログインしたユーザーがいたときにメールで知らせる機能がある。プロバイダーによっては、不正なメール送信を避けるために、CGIからのsendmailの使用を禁止しているプロバイダーも多い。そのため、あらかじめsendmailが使えるか確かめておく必要がある。使える場合には場所を確認し、sendmailの場所やメールアドレスを確認し設定しよう。設定を間違うとプロバイダーや管理者に迷惑がかかるので十分に注意しよう。
 また、この設定が原因でWebチャットCGIが動作しないことも考えられるため、この設定を使うとしても、一通り動作することが確認できてからで十分だろう。
 「ゆいちゃっとPro 1.0」の場合は、sendmailを利用することがないため、この設定をする必要がない。

 (4) その他の変更点

 その他、説明書をよく読むか、WebチャットCGIの中を読み設定変更できる場所を探し、必要事項を書き換えよう。
 「ゆいちゃっとPro 1.0」の場合は、変更は「pref.cgi」を書き換えることで行なう。「$endpage= 」は退室したときに飛ぶホームページなので、自分のホームページなどに書き換えた方がよいだろう。書き換える場合には、「=」の後が「'」で始まり、最後が「';」で終わるという条件を崩してはいけない。
 また、海外のWWWサーバーを使用する場合、書き込み時間を日本時間に合わせるために時間を処理する部分を設定変更する必要がある。これは、一度動かして書き込みテストをしてから時間のズレを調整したほうが、正確に時間を調整できるだろう。設定場所は、「($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime($times);」の部分だ。

 (5) カスタマイズ


 Webチャットの配色などを自分の好みにカスタマイズして、楽しいWebチャットにすることができるのがWebチャットCGIを自分で設置するメリットだろう。ただし、この設定を間違うと動作しなくなることがあるので注意だ。カスタマイズする場合は、一度、動作を確認してからにしよう。
 「ゆいちゃっとPro 1.0」の場合は、カスタマイズも「pref.cgi」を書き換えることで行なう。、「$title = 」はチャットに表示されるタイトルなので書き換えた方がよく、また必要に応じて配色の変更などを「$body=」に設定したり、ログの最大行数を「$max = 」に指定しよう。
 「ゆいちゃっとPro 1.0」はフレームを使用するため、これらのファイルのタイトルの設定や配色の変更をしてもフレーム自体は変わらず「pref.cgiを書き換えたのにタイトルが変わらないので困る」といった相談がよくある。フレームを構成するファイル「index.html」の「<title>~」や「<body~」の変更も忘れてはいけない。

 (6) 本体以外のファイルの作成、カスタマイズ

 WebチャットCGIによっては本体以外のファイルが必要になることがあるので説明書を確認しよう。
 「ゆいちゃっとPro 1.0」の場合は、サイズが0バイトの「rank.dat」、「sanka.dat」、「chat.dat」というファイルを作成する必要がある。これらはメモ帳などでなにも入力せずにファイル名を指定して保存すれば0バイトのファイルができる。


5:サーバー側を設定する


 WebチャットCGIの設定や本体以外ファイルの設定が済んだら、サーバー側にWebチャットCGIを設置する準備をする。

 (1) 「.htaccess」を作成する

 WWWサーバーやプロバイダーによっては、WebチャットCGIを動作させるために、「.htaccess」というファイルを作成する必要がある。必要かどうかは「2:」で説明したとおり、サーバーやプロバイダーの説明書を確認すること。サーバーによっては不要であったり、逆にこのファイルがあると動作しなくなることもある。
 このファイルを作るには、「.htaccess」というファイルを新規で作成し、「AddType application/x-httpd-cgi .cgi」と書いてセーブする。これをWebチャットCGIをアップロードするときに一緒に転送すればよい。

 (2) サーバーにディレクトリを作成する

 管理しやすいように、WebチャットCGIはトップページと同じディレクトリではなく別のディレクトリを作成して、そこに置くようにしよう。また、WebチャットCGIによってはディレクトリを必要とすることがあるので必要に応じて作成する。
 この紹介では「ゆいちゃっとPro 1.0」を「chat」というディレクトリに置くことにする。
 なお、プロバイダーやサーバーによって、CGIを置くディレクトリの指定は、主に2種類に分かれる。
 比較的簡単なのは、cgi-binなどのCGI専用ディレクトリを用意しておらず、自分のディレクトリの下の好きなところにCGIを設置してもよい場合だ。この場合は上に説明したとおり、WebチャットCGI用ディレクトリを作るだけでよい。
 少し難しいのは、CGI用の専用ディレクトリが用意されており、そのディレクトリでのみCGIが動作する場合だ。この場合、CGIとデータファイルを別々のディレクトリに置く必要があり、Webチャットで指定しているデータファイルの場所も書きかえる必要がある。
 「ゆいちゃっとPro 1.0」の場合は、ディレクトリを「/home/user/public_html/chat」に作った場合は「pref.cgi」を

$rank_file='/home/user/public_html/chat/rank.dat';
$sanka_file = '/home/user/public_html/chat/sanka.dat';
$chat_file = '/home/user/public_html/chat/chat.dat';

と書き換える必要がある。また、CGI用の専用ディレクトリが「/www/cgi-bin/user」
ならば、「index.html」を

<frame src="/www/cgi-bin/user/enter.cgi?enter" target="_self" name="top_w">
<frame src="/www/cgi-bin/user/chat.cgi?window=50&reload=150&mode=checked" ~

と書き換える(chat.cgiは「~」以降を省略しているが省略してはいけない)。


6:ファイルをアップロードする


 いよいよ、用意したWebチャットCGIやデータファイルとjcode.pl、.htaccessなどの関連ファイルをサーバーにアップロードする。
 「ゆいちゃっとPro 1.0」の場合は、WebチャットCGI用に作成したディレクトリにデータファイルなどのindex.html、rank.dat、sanka.dat、chat.datとWebチャットCGIを(CGI専用ディレクトリがある場合はそのディレクトリ)にpref.cgi、chat.cgi、enter.cgi、jcodeLE.pl(jcode.pl)を(必要に応じて.htaccessも)転送する。
 アップロードにはFTPクライアントを使用する。このとき注意するのは、いままで説明したファイルはすべてアスキーファイルなので、「アスキーモード」で転送するのを忘れないことだ。ただし、壁紙などの画像もアップロードする場合には「バイナリーモード」で転送する。
 FTPクライアントによっては、.txtのファイルはアスキーモードで、.cgiや.plのファイルはバイナリーモードで転送されることがある。FTPクライアントの設定をよく確かめよう。


7:ファイルのパーミッションの変更

 ファイルを転送したら、転送したファイルや作成したディレクトリのパーミッション(権限)を、WebチャットCGIが動作するために設定する必要がある。パーミッションを設定するには、UNIXとそのサーバーのシステムを学んでおく必要がある。
 「ゆいちゃっとPro 1.0」の場合は、chat.cgi、enter.cgiは「755」、jcodeLE.pl(jcode.pl)や.htaccessは「644」、rank.dat、sanka.dat、chat.datは「646」に設定するのが基本となる。
 パーミッションをどう設定するかは、CGIやサーバーによって設定が異なるので、説明書を参考にしよう。また、設定をしっかりしておかないと、同じプロバイダーの別のユーザーによってファイルを消されたり、書きかえられたりするという可能性もあるので、十分に注意しよう。


8:動作確認をする

 この時点でほとんどの場合は動作すると思われるので、実際にWebチャットにアクセスしてみよう。アクセスできたらログインや書き込みをして、書き込み内容や書き込み時刻に問題がないか確認しよう。
 この時点で動作しない場合には、設定が足りないこともある。
 エラーの確認で一番基本なのは、WWWサーバーのerror_logファイルを確認することだ。ただし、プロバイダーなどでerror_logを含むログが見られないサーバーもある。そのような時はエラーを推測する必要がある。推測する方法は掲示板CGIの解説の「掲示板CGIを設置しよう8:動作確認をする」を参考にしてほしい。


●Webチャットの運用、メンテナンス

 レンタルWebチャットを設置した場合も、WebチャットCGIを設置した場合も、運用やメンテナンスに関しては同じような悩みがつきまとう。では、どんなことが大事なのだろうか。

1:時間を決めてチャットをしよう

 Webチャットの運用方法はさまざまだ。自分で書くのはもちろんのこと、時間が合わない人とは掲示板と同じように書き込みだけをしてもらったり、自分が参加していている間に訊ねて来た人と1対1のチャットをしてもいい。
 しかし、チャットのメリットはたくさんの人とリアルタイムに会話をすることだろう。そのためには、週1回くらい時間を決めてその時間に必ずチャットをするようにすれば、多くの参加者と会話を楽しむことができる。ただし、参加者が多くなると、文字を読むのに時間がかかったり、キーボードを打つのに時間がかかる人は楽しめないこともあるので、目的別に時間を複数設定して参加者を分散させるという工夫も必要だ。

2:不正なユーザーがきたら…

 Webチャットによっては、不正なユーザーが無駄な書き込みをして、チャット(会話)を邪魔しようとする。
 自分が寂しいあまりに、楽しい場所を壊したくなるということがほとんどだそうで、「やめてください」などと騒げば騒ぐほど、その人はよろこんで邪魔を続けてしまうことがあるので、無視することが一番だと思われる。無視されたり、チャットが一時停止していれば邪魔する意味もなく不正ユーザーはいなくなるだろう。
 その後、再び同じような被害がある場合は、チャットを一旦停止して対策を考えよう。レンタルWebチャットを借りている場合は管理者に相談したほうがよい。
 特定のアドレスからの利用を禁止する方法もあるが、ダイヤルアップユーザーは毎回アドレスが変わるので意味がない。また、ユーザーを特定できないようにするProxy経由の書き込みを禁止する方法もあるが、企業ユーザーはProxy経由で参加することが多いため注意しなければならない。
 Webチャットによっては、IDやパスワードによって利用制限をするなどの対策ができるチャットもあるので、そのようなチャットを使うとよいだろう。
 また、掲示板と同じく不正なHTMLタグを書き込んで、アダルトな画像を表示させたり、自動で別のページにジャンプさせたり、フォントを変更して閉じないといったいたずらをされることもある。HTMLタグの使用可否についても十分に気を付けておこう。

3:表示が遅くなったり、WebチャットCGIが停止してしまった場合

 WebチャットCGIは非常に負荷がかかるため、サーバーの処理速度が低下したり、停止することがある。表示が遅くなったり、WebチャットCGIが停止してしまった場合は、WebチャットCGIをやめることも考える必要がある。プロバイダーによっては、プロバイダー側から停止してほしいと注意されることもある。

 Webチャットを開くことによって、さまざまな影響があるが、もちろん、それ以上に楽しいこともたくさんあるので、うまく設置/運用して楽んでほしい。


('99/8/9)

[Reported by ymasa@wizvax.net / Watchers]


INTERNET Watchホームページ


ウォッチ編集部INTERNET Watch担当internet-watch-info@impress.co.jp