Backup of Namazu/1,インストール (1) Back


Back to History list

#navi(Namazu)

*前処理
-[[telnet.cgi>http://www.rohitab.com/cgiscripts/cgitelnet.html]]のインストールする。基本的に変更箇所は、perlのパスとパスワードのみ。あとは、普通にcgiを設置する場合と同じ。

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

次にtelnet.cgiを起動し、自分のアカウントのルートディレクトリに移動。
 cd /home/name/
telnet.cgiでnamazuとkakasiを解凍する。サーバー上で解凍するのは、ローカルからアップした際にパーミッションやシンボリックリンクなどの情報が送られない可能性があるためと、数十個のファイルを個別にアップロードするのは無駄に時間がかかるためである。
 tar xvzf(ファイル名)
telnet.cgiでkakasiのディレクトリに移動
 cd kakasi
以下のコマンドを1行ずつ実行してコンパイル。このprefix=/home/nameは、自分のアカウント内にインストールするときのインストール先。--disable-sharedは、コマンドの高速化の意味。
 ./configure --prefix=/home/name --disable-shared
 make
 make install
prefixの/home/nameは、自分の使用環境に合わせる。(telnet.cgiに表示されるアドレスを参考にするとよい)

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

次にnamazuのディレクトリに移動しさっきと同じコマンドを実行
 cd ../
 cd namazu
同様にnamazuのコンパイル。
 ./configure --prefix=/home/name --disable-shared
 make
 make install

以上の処理でとりあえず、以下の位置にファイルが置かれたと思う。
|~パス|~ファイル名|~内容|
|/home/name/bin/|namazu|本体コマンド|
|/home/name/libexec/|namazu.cgi|cgiバイナリ(実行部分)|
|/home/name/bin/|mknmz|インデックス作成用コマンド|
|/home/name/etc/namazu/|namazurc-sample|namazu設定ファイルのひな形|
|/home/name/etc/namazu/|mknmzrc-sample|mknmz設定ファイルのひな形|

今度は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と出力されれば成功。

現状では、テンプレートを読み取ってないのでスクリプトをwebで実行しても白紙の状態になるだけである。次は、このテンプレートを作成する。
 cp /home/name/share/namazu/template/NMZ.body.ja /home/name/tmp/namazu/
 cp /home/name/share/namazu/template/NMZ.foot.ja /home/name/tmp/namazu/
 cp /home/name/share/namazu/template/NMZ.head.ja /home/name/tmp/namazu/
 cp /home/name/share/namazu/template/NMZ.result.normal.ja /home/name/tmp/namazu/
 cp /home/name/share/namazu/template/NMZ.result.short.ja /home/name/tmp/namazu/
 cp /home/name/share/namazu/template/NMZ.tips.ja /home/name/public_html/tmp/namazu/

この例では、tmpディレクトリのnamazuにテンプレートをコピーしている。NMZ.head.jaには<head>~</head>内に以下を追記することを強く推奨。
 <meta http-equiv="content-type" content="text/html;charset=EUC-JP" />
これは、namazuが検索する対象の文字コードに関わらず、出力はEUC-JPで処理されるからであり、異種文字コード間の文字化けをふせぐためである。