Linux Tips

NDTPDで電子辞書を使うには(Red Hat、Turbolinux編)

北浦訓行
2002/10/24

 電子辞書を使うには(xdic編)では、電子辞書を単独のプログラム(xdic)で使う方法を紹介した。だが、LinuxではNDTPDで辞書サーバを構築する方法が一般的だ。

 NDTPDは、EB、EBG、EBXA、EBXA-C、S-EBXA、EPWING形式のCD-ROMに対応している。NDTPDを使うと、どのクライアントからでも電子辞書にアクセスできるようになるし、NDTPDをサポートするクライアントの種類が多くて便利だ。

 NDTPDは、電子辞書にアクセスするためにEBというライブラリを使用している。従って、NDTPDをインストールする前にEBをインストールする必要がある。EBは、EBのWebサイト(http://www.sra.co.jp/people/m-kasahr/eb/index-ja.html)からダウンロードできる(原稿執筆時点の最新版はeb-3.2.3.tar.gz)。

 ダウンロードしたら、以下の手順でインストールする。

$ tar zxf eb-3.2.3.tar.gz
$ cd eb-3.2.3
$ ./configure
$ make
$ su
Password:
# make install

 続いてNDTPDをインストールする。NDTPDは、NDTPDのWebサイト(http://www.sra.co.jp/people/m-kasahr/ndtpd/index-ja.html)からダウンロードできる(原稿執筆時点の最新版はndtpd-3.1.3.tar.gz)。インストールの手順は、EBと同じだ。

$ tar zxf ndtpd-3.1.3.tar.gz
$ cd ndtpd-3.1.3
$ ./configure
$ make
$ su
Password:
# make install

 次にNDTPDの設定を行う。まず、NDTPD専用のグループとユーザーを作成する。

# groupadd ndtpgrp
# useradd -g ndtpgrp ndtpuser

 そして、ndtpdの作業ディレクトリ(/usr/local/var/ndtpd)の所有権を先ほど作成したグループとユーザーに変更する。

# chown -R ndtpuser:ndtpgrp /usr/local/var/ndtpd

 続いて、ndtpdの設定ファイル(/usr/local/etc/ndtpd.conf)を作成する。ndtpd.conf自体は用意されていないが、サンプルファイルがあるのでそれをコピーして利用する。

# cp /usr/local/etc/ndtpd.conf.sample /usr/local/etc/ndtpd.conf

 テキストエディタで/usr/local/etc/ndtpd.confを開いて、設定を変更する。主な変更点は以下のとおりだ。

  max-clients           1

 max-clientsは、辞書に同時アクセス可能な人数を指定する。この項で使用する『広辞苑 第四版』は複数での使用を禁じているので、「1」(デフォルト)にしてある。

hosts                   127.0.0.1
hosts                   192.168.0.0/24

 hostsは、辞書にアクセス可能なホストの指定だ。ここでは、localhostと192.168.0.0〜192.168.0.255を指定している。

begin book
(省略)
    name                koujien
(省略)
    title               Koujien
(省略)
    path                /mnt/cdrom
(省略)
    appendix-path       /usr/local/share/eb/appendix/kojien-2.3
(省略)
end

 begin bookからendまでの間は、辞書の個別指定になる。nameは書籍(辞書)の名前を設定する。使用できるのは英小文字と数字、下線、ハイフンのみ。titleは書籍(辞書)の題名を指定する。改行文字とnull文字(\0)は使用できない。EUCで指定するなら漢字も使用可能。pathは、書籍(辞書)の絶対パスを指定する。catalogファイルの存在するディレクトリを指定すればいい。CD-ROMをハードディスクにコピーした場合は、そのディレクトリを指定する。appendix-pathは、appendixパッケージの絶対パスを指定する。appendixパッケージとは、書籍(辞書)ごとに作成された外字を表示可能にするなどの機能がある。appendixパッケージは、EBのWebサイトを参照。

 なお、ndtpd.confの記述についてはNDTPDのドキュメント(http://www.sra.co.jp/people/m-kasahr/ndtpd/doc-ja/ndtpd-ja_toc.html)で詳しく説明されている。

 以上で、/usr/local/etc/ndtpd.confの設定は終了だ。続いて、NDTPDを起動するための設定を行う。rootでログインして、/etc/servicesに以下の設定を追加する。

ndtp            2010/tcp

 これは、NDTPDの使用するポートが2010であることを定義している。続いてxinetdの設定を行う。テキストエディタで/etc/xinetd.d/ndtpを新規に作成して、以下のように記述する。

# default: off
# description: The ndtp server
service ndtp
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/local/sbin/ndtpd
        server_args     = --inetd
        log_on_failure  += USERID
}

 設定できたら、xinetdを再起動する。

# service xinetd restart
xinetdを停止中:                                            [  OK  ]
xinetdを起動中:                                            [  OK  ]

 以上でNDTPDの設定は終了だ。CD-ROMをマウントして(ハードディスクに辞書をコピーした場合は必要ない)、テストしてみる。

# mount /mnt/cdrom
# telnet localhost ndtp ←telnetでNDTPDのポートにアクセス
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
t ←「t」を入力して[Enter]キーを押す
1       広辞苑 第四版  koujien/koujien 0       1       900
2       付属資料        koujien/furoku  0       1       900
3       「広辞苑」紹介  koujien/guide   0       1       900
4       書籍選択        koujien/screen  0       1       900
$* ←NDTPDが動作していれば辞書の情報が表示される
Q ←大文字の「Q」を入力して[Enter]キーを押す

 telnetで接続できない場合は、xinetdの設定を確認してみる。また、Red Hat Linuxでファイアウォールを設定していると、それが原因の可能性もある。lokkitを起動して、カスタム設定のボックスに「ndtp:tcp」を入力する(具体的な方法はRed Hat Linux 7.1のファイアウォール設定を変更するには参照)。また、ndtpd.confのチェックには、/usr/local/sbin/ndtpcheckコマンドを実行するといい。

 NDTPDのインストールが終了しても、クライアントプログラムがないと辞書にアクセスすることはできない。電子辞書を使うには(Forest編)で、ForestというCGIを使ってWebブラウザから電子辞書を検索する方法を紹介しているので参照していただきたい。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間