namazu 2.0.13-1 のインストールログ
1. 確認
perl 5.004 以降がインストールされているか?(今回は perl 5.8)
次の perl モジュールがインストールされているか?
File::MMagic
Text::Kakasi
(Text::Kakasi は kakasi のインストール後にインストールすること)
NKF
もしインストールされてなかったら、
perl -MCPAN -e shell
cpan> install File::MMagic
などとする。(NKF は nkfを展開後の NKF.mod で make install する)
GNU gettext 0.13 以降がインストールされているか?(今回は 0.14.1)
kakasi 2.3 以降がインストールされているか?(今回は 2.3.4)
これらをあらかじめインストールしてから次へ進む
2. 展開
gtar zxvf namazu-2.0.13-1.tar.gz
cd namazu-2.0.13
3. コンパイルとインストール
./configure --with-perl5=/usr/local/bin/perl5 --with-libintl-prefix=/usr/local
(今回は /bin/perl が 5.6 で /usr/local/bin/perl が 5.8 だったので指定した)
make
make install
4. インデックス作成
例えば次のようにすると自分のホームページ用のディレクトリ以下のファイル
に対してインデックスを作成できる
mkdir /home/username/namazu/index
mknmz -O /home/username/namazu/index /home/username/public_html/
検索して動作確認するには、
namazu 検索文字列 /home/username/namazu/index
のようにする
5. CGI としての利用
まず CGI として利用するにはサーバ(Apache)の設定で次の項目が必要である。
AddHandler cgi-script .cgi
AllowOverride All (少なくとも当該ディレクトリで Options の Override が必要)
Options ExecCGI (当該ディレクトリに対する指定、
上の指定が httpd.conf でしてあれば .htaccess で指定)
次に /usr/local/libexec/namazu.cgi を CGI として
使いたいディレクトリにコピーする
同時に /use/local/etc/namazu/namazurc-sample を同じディレクトリに
.namazurc という名前でコピーし編集する。編集する箇所は、
Index /home/username/namazu/index
Template /home/username/namazu/index/template
(template ディレクトリを作成してカスタマイズする場合の例)
Replace /home/username/public_html/ http://www.sample.ac.jp/~username/
Lang ja
である。これでテスト用の html ファイルを用意して検索してみる。例えば、
test namazu
namazu の検索のテストです。
のように。
6. html 以外のファイルのインデックスも作成する
a. xpdf-3.00 のインストール(pdf ファイルの処理に pdftotext を使う)
INSTALL ファイルの記述に従ってライブラリをインストールする
i)t1lib のインストール
gtar zxvf t1lib-1.2.tar.gz
cd T1Lib-1.2
./configure
make
(今回は latex が入ってなかったのでドキュメントの処理でエラーが出たが
ライブラリは問題ない)
make install
ii)freetype のインストール
gtar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
(GNU make を使う必要があるようなので)
setenv GNUMAKE /opt/sfw/bin/gmake
./configure
gmake
gmake install
(今回は pdftotext が必要で xpdf はなくてもいいので X 関係はなし。
Motif または lesstif が必要なので)
cd xpdf-3.00/xpdf
cat ../../xpdf-3.00pl1.patch | patch
cd ..
./configure --with-freetype2-includes=/usr/local/include/freetype2
make
make install
cd ..
gtar zxvf xpdf-japanese.tar.gz
mkdir /usr/local/share/xpdf
cp -r xpdf-japanese /usr/local/share/xpdf
cd /usr/local/share/xpdf
mv xpdf-japanese japanese
cd /usr/local/etc
cp xpdfrc xpdfrc.org
emacs xpdfrc
(ファイルの末尾に /usr/local/share/xpdf/japanese/add-to-xpdfrc を加える)
b. ps2text のインストール
gtar zxvf ps2text-0.4.1.tar.Z
cd ps2text-0.4.1
cp Makefile Makefile.org
emacs Makefile
(CC = gcc, GS = /usr/sfw/bin/gs)
make
make install
c. detex のインストール
gtar zxvf detex-2.7.tar.gz
cd detex-2.7
cp Makefile Makefile.org
emacs Makefile
(CC = gcc, LEX = flex, DEFS = -DNO_MALLOC_DECL
ただし、別の Solaris9 マシンでは CC = gcc だけでも大丈夫だった)
make
cp detex /usr/local/bin
(make install すると binary というユーザは存在しないといわれるので)
d. filter の修正
以上で pdf, postscript, tex ファイルをインデックスしてくれるようになる
なずであるが、手元の1台の Solaris9 マシンでは mknmz のフィルターを修正
しないとエラーが出ていた。
/usr/local/share/namazu/filter/postscript.pl の中の
# unless ($? == 0) {
# unlink($tmpfile);
# unlink($tmpfile2);
# return "Unable to convert postscript file ($postscriptpath error occurred)";
# }
の部分。
別の Solaris9 マシンでは何もしなくても大丈夫だったんだけど。