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 マシンでは何もしなくても大丈夫だったんだけど。