前処理

まず、telnet.cgiのインストールする。基本的に変更箇所は、perlのパスとパスワードのみ。あとは、普通にcgiを設置する場合と同じ。

Namazu、Kakasi、nkfのアップロード

Namazu、kakasi、nkfを自分のアカウントのルートディレクトリにアップロードする。ここの例では、/home/name/上にアップロードする。(public_htmlもしくはhtdocよりも前の階層)

名前配布元内容
Namazuhttp://namazu.org/#download検索エンジン本体
nkfhttp://sourceforge.jp/projects/nkf/文字コード相互変換スクリプト
Kakasihttp://kakasi.namazu.org/形態素解析(漢字の読みのライブラリ)
茶筌http://chasen.aist-nara.ac.jp/stable/chasen/同上(別途darts-0.2.tar.gzが必要)
和布蕪(めかぶ)http://chasen.org/~taku/software/mecab/同上

ここでは、kakasiを使って解説する。後はお好みでどうぞ。

次にtelnet.cgiを起動し、自分のアカウントのルートディレクトリに移動。

cd /home/name/

telnet.cgiでnamazuとkakasiを解凍する。サーバー上で解凍するのは、ローカルからアップした際にパーミッションやシンボリックリンクなどの情報が送られない可能性があるためと、数十個のファイルを個別にアップロードするのは無駄に時間がかかるためである。

tar xvzf(ファイル名)

という形式でファイルを解凍する。

nkf(Network Kanji Filter)のインストール

一部のサーバーにはインストールされてない場合がある。このライブラリがないと異なる文字コード間の処理がうまくいかない可能性がある。ちなみに、インストールされている場合でも必ずしも最新版がインストールされてるとは限らない1ので、ちゃんと動作しなかったら、自分でインストールしてみるのもいいかもしれない。

まずは、NKFのサイトから最新版をダウンロードして、自分のアカウントのルートディレクトリにアップロードし、解凍する。

tar xvzf nkf2

次に、解凍されたディレクトリに移動しmakeを実行

cd nkf2/nkf-utf8
make

手動でできたバイナリを移動させる

mv nkf /home/name/bin
mv nkf.1 /home/name/man/man1

残りの処理。

cd NKF.mod/
perl Makefile.PL && make && make test && make install && echo Done.

テストは、

/home/name/bin/nkf --version

を実行して、以下のように表示されたら成功だ。

Network Kanji Filter Version 2.0.4 (2005-03-05)
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa),2000 S. Kono, COW, 2002-2004 Kono, Furukawa

kakasiのインストール

tar xvzf kakasi-x.x.x.tar.gz
cd kakasi-x.x.x

以下のコマンドを1行ずつ実行してコンパイル。このprefix=/home/nameは、自分のアカウント内にインストールするときのインストール先だ。--disable-sharedは、コマンドの高速化の意味。

./configure --prefix=/home/name --disable-shared

また、./configureが途中で止まってしまう場合、もう一度実行すると続きから展開される。

make
make install

これにより、kakasiが/home/name/binのディレクトリに自動的にインストールされる。

Namazuのインストール

cd ../
cd namazu

同様にnamazuのコンパイル。

./configure --prefix=/home/name --disable-shared
make
make install

Namazuの場合少しややこしく、とりあえず以下の位置にファイルが置かれたと思う。

パスファイル名内容
/home/name/bin/namazu本体コマンド
/home/name/libexec/namazu.cgicgiバイナリ(実行部分)
/home/name/bin/mknmzインデックス作成用コマンド
/home/name/etc/namazu/namazurc-samplenamazu設定ファイルのひな形
/home/name/etc/namazu/mknmzrc-samplemknmz設定ファイルのひな形

今度はtelnet.cgiでnamazu.cgiが動くかチェックしてみる。

cd /home/name/public_html/cgi-bin/
./namazu.cgi

text/htmlと出力されれば成功。

このうち実行部分を外に出す。FTPでダウンした後アップし直すでもいいが、バイナリなだけにデーターが化ける可能性があるので、cpコマンド使ってコピーする。下の例では、cgi-binにコピーしている。

cp /home/name/libexec/namazu.cgi /home/name/public_html/cgi-bin/

サーバーエラーがおきた場合namazuを解凍したディレクトリに戻り、以下のコマンドで再インストールしてみる。

make clean
./configure --prefix=/home/name --disable-shared --prefix=/home/name --with-pmdir=/home
make
make install

あとは、できたバイナリを先ほどの要領でコピーする。text/htmlと出力されれば成功。