Filename: 02_ndtpd-1.0.txt Author: <> Created: 2004-02-15 Updated: 2004-02-15 Description: ndtpd のセットアップログ -------------------------- Contents 01. はじめに 02. 情報源 03. 環境 04. 手順 ### ## 01. はじめに # NDTP (Network Dictionary Transfer Protocol) は, ネットワーク越しに辞書にアクセスするためのプロトコルです. ndtpd は現在,ebnetd の一部として取り込まれています. ebnetd は - ebnetd - ndtpd - ebhttpd の三つのサーバプログラムからなります. [ebnetd] EBNET プロトコルを話すサーバプログラム. EB ライブラリを遠隔呼び出しするラッパのような感じ. 辞書内のアドレス(?)でアクセスしたりする, 低レイヤのプロトコル. [ndtpd] NDTP を話すサーバプログラム. 辞書検索を遠隔で行えます. [ebhttpd] HTTP を使って辞書検索を行います.(?) +---------------+ | クライアント | +-------+-------+ | +-------+-------+ +---------------+ | ndtpd | +--//--+ ebnetd | +---------------+ | +---------------+ | EB ライブラリ +--//--+ | EB ライブラリ | +--+---------+--+ +--+---------+--+ | | | | +--+--+ +--+--+ +--+--+ +--+--+ | DIC | | DIC | | DIC | | DIC | +-----+ +-----+ +-----+ +-----+ ### ## 02. 情報源 # [NDTPD] http://www.sra.co.jp/people/m-kasahr/ndtpd/index-ja.html [EBNETD] http://www.sra.co.jp/people/m-kasahr/ebnetd/index-ja.html [UNIXで電子辞書をしゃぶりつくそう] http://hp.vector.co.jp/authors/VA000022/unixdic/index.html [WordNet (EPWING形式)] ### ## 03. 環境 # OS: VineLinux 2.5 kernel: kernel 2.4.24 EB ライブラリ 4.0+ ### ## 04. 手順 # 今回は /usr/local/src 以下にソースを展開し, /usr/local/ebnetd-1.0 以下にインストールします. EB ライブラリのセットアップが既に完了していることとします. ndtpd は inetd 経由で起動され,60000 番ポートを用いることとします. 起動ユーザは nobody.nobody とします. /u01/dictionary/WORDNET に EPWING 形式に WordNet が置かれており, /u01/dictionary/WORDNET/CATALOGS が存在することとします. ## # 04-01. ソースの入手 ebnetd-1.0 のソースを入手します. --| term |-------------------------------- $ cd /tmp/ $ wget ftp://ftp.sra.co.jp/pub/misc/eb/ebnetd-1.0.tar.gz ------------------------------------------ ## # 04-02. ソースの展開 ソースを解凍します. --| term |-------------------------------- $ su - Password: # cd /usr/local/src # tar zxvf /tmp/ebnetd-1.0.tar.gz ------------------------------------------ ## # 04-03. 所有者の変更 root で作業するのは気持ち悪いので, ファイルの所有者を一般ユーザに変更します. --| term |-------------------------------- # chown -R miz.users ebnetd-1.0 ------------------------------------------ 一般ユーザに戻ります. --| term |-------------------------------- # exit ------------------------------------------ ## # 04-05. configure インストール先および,EB ライブラリの設定ファイルへのパスをを指定して configure を実行します. --| term |-------------------------------- $ ./configure \ > --prefix=/usr/local/ebnetd-1.0 \ > --with-eb-conf=/usr/local/eb-4.0+/etc/eb.conf ------------------------------------------ ## # 04-06. make コンパイルを行います. --| term |-------------------------------- $ make ------------------------------------------ ## # 04-07. make install コンパイルしたファイルを 指定した位置 (--prefix=/usr/local/eb-4.0+) に インストールします. --| term |-------------------------------- $ su Password: # make install ------------------------------------------ ## # 04-08. inetd の設定 ndtpd を直接起動せず,inetd 経由で立ち上げます. /etc/services で,サービス名とポートのマッピングを定義します. --| /etc/services |----------------------- [次の行を追加します] ndtp 60000/tcp ------------------------------------------ /etc/inetd.conf で,ndtp の起動設定を行います. --| /etc/inetd.conf |--------------------- [次の行を追加します] ndtp stream tcp nowait nobody /usr/local/ebnetd-1.0/sbin/ndtpd ndtpd --inetd ------------------------------------------ ## # 04-09. 設定ファイルの編集 /usr/local/ebnetd-1.0/etc/ebnetd.conf を編集します. --| ebnetd.cnf |-------------------------- user nobody group nobody max-clients 1 hosts 127.0.0.1 syslog-facility local0 begin book name wordnet title WORDNET path /u01/dictionary/WORDNET max-clients 0 hosts * end ------------------------------------------ 設定ファイルのチェックを行います. --| term |-------------------------------- # /usr/local/ebnetd-1.0/sbin/ndtpcheck ------------------------------------------ ## # 04-10. ログディレクトリの準備 ログディレクトリのパーミションを変更します. --| term |-------------------------------- # chown nobody.nobody /usr/local/ebnetd-1.0/var/ebnetd ------------------------------------------ ## # 04-11. inetd の再起動 inetd を再起動します. --| term |-------------------------------- # /etc/rc.d/init.d/inetd stop # /etc/rc.d/init.d/inetd start ------------------------------------------ ## # 04-12. 動作確認 telnet で直接 NDTP を話して,簡単に動作を確認します. 行頭に ">" があるものが,入力するコマンドです. --| term |-------------------------------- $ telnet localhost 60000 > t 1 WordNet wordnet/wordnet 0 0 900 $* > L1 $* > Padictionary $0 dictionary 1518:3ce $$ > S1518:3ce $1 dictionary n : a reference book containing an alphabetical list of words with information about them [syn: {lexicon}] $$ > Q ------------------------------------------