ネットニュースは、クライアント/サーバ型のシステムです。 クライアント側はニュースリーダと呼ばれ、サーバが持っている記事を閲覧したり、 投稿する機能が備わっています。ニュースリーダの代表的なものは、以下のような ものがあります。GNUS mnews gn Netscape Communicator Outlook Expressネットニュースでは、NNTP(Network News Transfer Protocol)という 通信プロトコルを利用しています。機能的には、要求された記事をクライアントへ 渡したり、サーバ同士で記事を送りあったりしています。
ネットニュースでは、話題や情報交換するテーマ毎に細かくグループ化が なされており、それぞれニュースグループと呼ばれています。グループ化は、 大きなトップカテゴリが存在し、その中が階層的に分かれています。 主なトップカテゴリとしては、comp,alt,sci,rec,fj,japan などがあります。
例えば、fj では、fj.rec --- 娯楽(recreation) fj.comp --- コンピュータ(computer) fj.news --- ニュース(news) fj.net --- ネットワーク(network) fj.os --- OS(os) ...などに分類されており、これらはさらに細かく分類されています。
ニュースサーバには幾つか種類がありますが、今回は最もメジャーな INN を インストールします。INNは、 ISC(Internet Software Consortium)で配布されています。 情報なども、ISCの Webページから取得できます。インストール
今回は、インストールは FreeBSD-2.2.8Release が動作している計算機で行います。 上記の ISC の Webページから、inn-2.3.0.tar.gz を入手しました。 入手後、適当なディレクトリで解凍・展開し、ディレクトリを移動します。% tar xvfz inn-2.3.0.tar.gz % cd inn-2.3.0展開されたディレクトリの中の INSTALL ファイルには、サポートOSが記載 されています。また、INNの動作には、バージョン5.004以降の Perl と PGP が 必要になるので、あらかじめインストールしておきます。
また、news という名前のユーザとグループを作成しておく必要があります。 FreeBSDでは、既に以下のように登録してありますので、新たに作成する必要は ありません。/etc/passwd news:*:8:8:News Subsystem:/:/sbin/nologin /etc/group news:*:8:ただ、ホームディレクトリが / ,ログインシェルが /sbin/nologin と 実際のシェルコマンドになっていないため、vipw コマンドを使って、news:*:8:8:News Subsystem:/usr/local/news:/bin/shなどと編集しておきます。次に /etc/group ファイルを編集し news グループに ユーザ news を追加します。以下のように編集します。news:*:8:newsまた、パスワードを変更しておきます。# passwd news Changing local password for news. New password: Retype new password: passwd: updating the database... passwd: done次に、configure スクリプトを実行します。FreeBSDでは、Perlの実行パスが Perl-5.004では /usr/local/bin/perl 、Perl-4.xでは /usr/bin/perl として インストールされているため、環境変数 PATH で /usr/local/bin/ が /usr/bin/ よりも先に来るように設定しておきます。% ./configureなお、この場合は /usr/local/news にインストールされますが、 変更したい場合($DIRにインストールする)は、% ./configure --prefix=$DIRとします。
次に、コンパイル及びインストールを行います。以下のように行います。% make % su Password: # make install以上で INN のインストールは終了です。設定ファイルの編集
続いて設定ファイルの編集を行います。INNをスタンドアロンで立ち上げる場合は、 それほど変更箇所はありませんので、まずはスタンドアロンで INN を立ち上げます。
- /usr/local/news/etc/inn.conf ファイル
このファイルでは、以下の項目を設定します。
設定項目 内容 organization ニュース記事の Organization ヘッダが空の場合に付加する値です。通常は そのドメインの組織名などにしておきます。 server ニュースサーバ名を指定します。 domain ホスト名を補うドメイン名を指定します。 fromhost INNからのメールの From に入るアドレスの FQDN に相当する部分を指定します。 pathhost INNからのメールの Pass や Xref に入るアドレスの FQDN に相当する部分を 指定します。 moderatormailer modelatorファイル内にモデレータの宛先がないときに通知するアドレスを 指定します。 storageapi 記事を投稿する方法です。traditional/timehash/CNFS のどれにするか決定し、 traditional なら "no"を、それ以外なら "yes" を指定します。
- /etc/syslog.conf ファイル
INNが出すメッセージをログファイルに保存するため、syslogの設定ファイル (/etc/syslog.conf)ファイルを編集します。以下のような行を追加します。news.crit /usr/local/news/log/news.crit news.err /usr/local/news/log/news.err news.notice /usr/local/news/log/news.notice右側に書いたファイルは、あらかじめ touch コマンドで作成しておきます。 そして、syslog に HUP シグナルを送ります。% su - news Password: $ cd log $ touch news.crit news.err news.notice $ exit % su Password: # ps ax | grep syslog 99 ?? Ss 1:39.11 syslogd # kill -HUP 99ログファイルの名前は任意ですが、上記の名前にしておけば、 news.diary スクリプトで古いログを圧縮及び消去してくれます。
- /usr/local/news/db ディレクトリ
データベースファイルを作成します。/usr/local/news/db ディレクトリに active と history ファイルを作成し、所有者とグループを news にします。% su - news Password: $ cd db $ touch active historyactive ファイルは、以下のように編集します。control 0000000000 0000000001 y control.cancel 0000000000 0000000001 n control.checkgroups 0000000000 0000000001 n control.newgroup 0000000000 0000000001 n control.rmgroup 0000000000 0000000001 n junk 0000000000 0000000001 y次に空の historyデータベースを作成するため、ユーザ news で /usr/local/news/bin/makehistory コマンドを実行します。% su - news Password: $ /usr/local/news/bin/makehistory起動
INNを起動するには、起動スクリプト /usr/local/news/bin/rc.news をユーザ news で実行します。% su - news Password: $ /usr/local/news/bin/rc.news Starting innd. Scheduled start of /usr/local/news/bin/innwatch.