チャットサーバ

CGI を使ったチャットの方法です。 ただし、CGI は不特定多数に実行ファイルの実行権を与えるものですので、 気をつけないとセキュリティー上の問題が発生します。

Apache はバージョン2系統、インストール先は /usr/local/apache2 を 仮定しています。


httpd.conf

まずは、httpd.conf で CGI を使えるように設定します。 CGI のバイナリファイルを置いてあるディレクトリを /www/cgi-bin としておきましょう。 もちろん、これらは WWW ブラウザから見える場所であることが必要です。 httpd.conf に次の4行を書き加えておきます。 AddHandler は cgi と pl という拡張子を持つファイルは 実行可能であるという意味です。
httpd.conf
<Directory "/www/cgi-bin">
Options ExecCGI
</Directory>

AddHandler cgi-script cgi pl

このあと、httpd を再起動します。
# /usr/local/apache2/bin/apachectl restart

これで、/www/cgi-bin にあるファイル *.cgi *.pl が 実行可能になったはずです。

MIDNIGHT FOX

チャットをするには、スクリプトファイルが必要です。 いろいろあるようですが、そのうちの一つ、 会員制の 「MIDNIGHT FOX」(Free)を使ってみましょう。

まずは、 ウェブサイトから MIDNIGHT FOXをダウンロードしてきます。 .lha 形式 や .zip 形式の圧縮ファイルしかありませんので、 .lha 形式を解凍するために port の /usr/ports/archivers/lha をインストールしておきましょう。インストールしたら、 適当なところで解凍します。

% lha -e fox.lzh
% ls
fox.cgi foxlog.cgi foxmem.cgi foxmgr.cgi jcode.pl

これらのファイルはDOS 用ですので、改行コードが DOS 用になっています。 UNIX ではもちろん UNIX 用改行コードに変更しなければなりません。 port の /usr/ports/japanese/qkc をインストールしておきます。 インストールしたら、qkc で解凍したファイルを

に変更します(漢字コードを EUC にしたら文字化けしました)。例えば、
% qkc -su fox.cgi > fox-unix.cgi
などです。詳しい使い方は 漢字コードと改行コードの変換 のページを参照して下さい。 なお、コードを変更したら、ファイルの名前は元の名前に戻しておきます。
% mv fox-unix.cgi fox.cgi

コードを変更したら、パーミッションを変更しておきます。 [755] などがパーミッションの番号です。 chmod 755 fox.cgi などとします。 また、lock ディレクトリも作っておきます。

fox.cgi [755]
foxmgr.cgi [755]
foxlog.cgi [666]
foxmem.cgi [666]
jcode.pl [644]
lock/ [777]

fox.cgi と foxmgr.cgi は perl を呼び出しますので、 perl がある場所を正しく設定します。
#!/usr/local/bin/perl
-> #!/usr/bin/perl

会員の登録は、@ID と @PW の行を上下をペアにして編集します。

以上が終了したら、/www/cgi-bin に移動させて、 WWW ブラウザから fox.cgi にアクセスしてみましょう。


FreeBSD の部屋


Jul. 10, 2000