さくらでestraier-search 後日談

後日談を自分のために書いてみる。

前回の導入失敗後、CVSHEADにもTest_UTF8と同じものが入ってるので、それを入れて試してみるが、内鯖で、estmasterを使った場合は当たり前だけどOK。擬似ノードサーバestfraud.cgiを使った場合はNG

結局は、CGI(estfraud.cgiはバイナリ)にLD_LIBRARY_PATHを渡せないというところに来るみたい。(うちの場合はそれではないような気もするが)。同じNグラムなやつでもRastの場合は、Rastがrubyなので、tDiaryのindex.rb update.rb rast-***.rbの先頭に

#!/usr/bin/env LD_LIBRARY_PATH=/path to library/ ruby

でまあ動く。

#さくらのレンタルサーバでは、SuEXECの関係で.htaccessに書いた環境変数の設定はもれなく無視される。

野良ビルドでのさくら対策としては、

configre、make時に、LD_RUN_PATHを設定
他の野良ビルドを組み込むには、PKG_CONFIG_PATHを設定すればOKな時もある

ところが、同じさくらの鯖でも、上記でえぶりしんぐおけな場合もあれば、さっぱり動かない場合があるみたい。それが設定の差なのか、鯖仕様の差(例えば共有サーバでなく、専用サーバとか)なのかは不明。

やっつけ技で、以下のような起動スクリプトを使ってる人もいる。

#!/bin/csh
setenv LD_LIBRARY_PATH /path to library/
./動かしたいCGI等

estfraud.cgi

さくら上でやった場合、ブラウザから「/path to estfraud.cgi/estfarud.cgi/(
estcmdで作ったインデックス名)」を呼ぶと、「Bad Request (the command is invalid)」とかのメッセージがでるので、、これはestfraud.cgiで出力してるから、動いてるじゃんと思った。

じゃあ擬似ノードサーバににしているインデックスがおかしいんじゃないのという方向に行くが、estfraud.cgiがだすエラーメッセージの条件に該当しないものは全部このメッセージになるらしく、またestcmdのインデックス作成のオプションにも関係しそうなものなく、インデックスがおかしいという話はどうしようもないし、まとはずれだと思う。

上のやっつけ起動スクリプトを使った場合、その起動スクリプト名に「.conf」が付いたものが、estfraud.confに該当する。(もちろんオリジナルのestfraud.cgiをリネームして、起動スクリプト名をestfraud.cgiにすればestfraud.confがそのまま使える)。でもこれも「Bad Request (the command is invalid)」でダメだった。

さくらで使うのはあきらめました。

でも個人的に検索のカスタマイズは、HyperEstraierの方が、Rastよりわかりやすいので、少しぐらいはいじって遊べそうというこで、内鯖にはHyperEstraierとともにtDiary-HyperEstraierも残すことに。

タイトルとURLをコピーしました