最初、インデックスをどうやって作れば良いのか判りませんでしたが、試行錯誤の結果次のやり方で何とかできました。
- インデックスを置くディレクトリを作る
私の場合は、/usr/local/apache/htdocs/ の下に作りましたが、特に Apache とは関係がないと思いますので標準のままが良いのかもしれません。その時は /etc/namazurc の Index パラメータを合わせないとだめでしょう。
cd /usr/local/apache/htdocs/
mkdir namazu
mkdir namazu/index
- 不要な index.html のインデックスを取り込まない
これは、mknmz のオプションで出来ました。
cd /usr/local/apache/htdocs/namazu/index/
mknmz --exclude=index.html ../../books/html/
PDFファイルのインデックス作成エラー
日本語のPDFファイルでインデックスを作成するためには xpdf が必要で、そのバージョンが1.0.0以降だとLanguage Support Packages が必要とわかりました。
xpdf は既にインストールされているので、Language Support Packages を以下のようにインストールしました。
wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-japanese.tar.gz
tar zxf xpdf-japanese.tar.gz .
su -
mkdir /usr/local/share/xpdf
mv ./xpdf-japanese /usr/local/share/xpdf/japanese
cp /usr/local/share/xpdf/japanese/add-to-xpdfrc ~/.xpdfrc
exit
cp /usr/local/share/xpdf/japanese/add-to-xpdfrc ~/.xpdfrc
WindowsアプリケーションでPDFを作成して他のファイルと一括してインデックスを作成したとき、Unable to convert pdf file (maybe copying protection)というエラーが発生して、インデックスの作成が出来ませんでした。
これは、一般ユーザーだと /usr/local/share/namaz/filter/pdf.pl (スーパーユーザーだと /usr/share/namaz/filter/pdf.pl )の以下のところを強制的に修正してしまいました。
sub status() {
$pdfconvpath = util::checkcmd('pdftotext');
$pdfinfopath = util::checkcmd('pdfinfo');
if (defined $pdfconvpath) {
my $ret = `$pdfconvpath 2>&1`;
if ($ret =~ /^pdftotext\s+version\s+([0-9]+\.[0-9]+)/) {
$pdfconvver = $1;
}
if (util::islang("ja")) {
if ($pdfconvver >= 1.00) {
# $pdfconvarg = '-enc EUC-JP'; #--------- この行の先頭に#を入力して、コメント化
$pdfconvarg = '-enc Shift-JIS'; #--------- 上の行からここにコピーして、エンコードを変更
} else {
$pdfconvarg = '-eucjp';
}
}
return 'yes';
}
return 'no';
}
このほか、ファイルサイズが大きいと「致命的エラー」となってしまいました。
これも、一般ユーザーだと /usr/local/share/namaz/pl/conf.pl (スーパーユーザーだと /usr/share/namaz/pl/conf.pl )の以下のところを強制的に修正してしまいました。
# $FILE_SIZE_MAX = 2000000; #------- 2MB から 5MBへ変更
$FILE_SIZE_MAX = 5000000;
#
# The max text size for indexing. Files larger than this
# will be ignored.
#
# $TEXT_SIZE_MAX = 600000; #------- 600KB から 5MBへ変更
$TEXT_SIZE_MAX = 5000000;
xpdf-3.04のコンパイル(2015-02-12追記)
tar zxf xpdf-3.04.tar.gz .
cd xpdf-3.04
less INSTALL # このファイルにインストールオプションが書かれている。
./configure --prefix=/usr/local --with-freetype2-library=/usr/lib --with-freetype2-includes=/usr/include/freetype2 --with-Xm-library=/usr/lib --with-Xm-includes=/usr/include
make
su
make install