ホーム > タグ > Rast

Rast

Ubuntu7.10-server-amd64でRast-0.3.1

rast-0.3.1 + ximapd-0.2.0 + RoundCubeWebmailなものを、マシン構成が変わる度に入れてるが
amd64版にもインストール
Rast-0.3.1のビルドは、前回、Ubuntu7.04-serverでやったような、apr.hの変更は不要だった。
ximapdも単体では正常に動いてるようだけど、RoundCubeから接続できなかった。64bitだからってことはないわな。いや、rubyのライブラリを何か忘れてるんじゃないかと思ったら当たった。

% sudo apt-get install libopenssl-ruby1.8

やる度に少しづつ早くなってるのがいいな。

Roundcubemail+ximapd FreeBSD-7.0-BETA2

FreeBSD-7.0-BETA2にしたのは、ProLiantML115で、options SCTPを無効にしてやって、カーネル再構築した上で、Roundcubemailをインストール

感動的に早い。Core2duoなWinXPマシン上のcolinux(ubuntu-7.10-server)で動かしたものなんか遅すぎて使えねぇ。Rastが遅いのなんてのはマシンパワーが解決してくれるんだな。

ProLiantはメモリも増設したことだし、samba鯖だけにするのはもったいないな。roundcubeも常駐の方向で。X2に載せ換えちゃおうかな(^^;;

さくらでsubversion 2nd

WordPressをsubversionで更新するという記事があったので、subversionだけ野良ビルドを復活させようとする。
すると、subversionって、単独でビルドしようとすると、Rastの依存の、apr apr-util BerkeleyDBが必要だったみたい。結局Rast以外復活じゃん。最新のものをやろうとすると、apr-util-1.2.10だけは./configureでprefixだけでは無理ということで
apr-1.2.11インストール後、

% ./configure --prefix=$HOME/local  --with-apr=$HOME/local \
  --with-expat=/usr/local --with-iconv=/usr/local

追記:subversion-1.4.5のconfigure時、–without-berkeley-db して、BerkeleyDBを無効にした。

apr-util-1.2.10で、configure --with-dbm=db43を指定した場合でも
configure: error: APR-UTIL was installed independently, it won't be possible to use the specified Berkeley DB
と言ってくれるため、BerkeleyDBごと無効に。

Ubuntu7.04-serverでRast-0.3.1

Debianだと、有志のパッケージがあった。Ubuntuにsid用ならの使えるかなとやってみたがNG。えー、びるどはやだあ。

でもメイン機のColinuxの方が多少は速いだろうとやってみる。今回はrastを入れるならximapdもということでicu、あとはprefixだけ指定しよう(FreeBSDほど文句は言わないだろうし)。Ubuntuでビルドはしていないので、次のパッケージを予めいれておく。

  • g++
  • libicu36-dev
  • libmagic-dev
  • libapr1-dev
  • libaprutil1-dev
  • bsfilter
  • nkf
% ./configure --prefix=/usr/local --with-icu-config=/usr/bin/icu-config

configureが通ったのでこれで無問題かと思ったら、次のmakeで、Just Do Liveさんと全く同じエラーがでてたので、同じように/usr/include/apr-1.0/apr.hを以下のように変更

typedef  __off64_t           apr_off_t;

これでmake installまでOKだった。

追記:動作確認に、ximapd roundcubemailも入れてみる。
ximapdのメールを自前のWebメールで読むなら日本語もほぼ問題なく表示できてるしroundcubeがいい。
colinux上のUbuntu7.04-serverではあるものの、core2duoのせいか、mboxのimportも、画面の遷移も一番動作が軽い。

さくらで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も残すことに。

  • Comments (Close): 0
  • Trackbacks (Close): 0

さくらでestraier-searchの続き

しょうこりもなく、estraier-searchを、擬似ノードマスタestfraud.cgiで使う件

estraier-register.rbを

85  #if db.doc_num < 0
86  #       raise "Database not found : http://#{@host}:#{@port}#{@path}#{@node}"
87  #end

上のようにコメントアウトすると

(2007/) (plugin/edit_today.rb):8: warning: don't put space before argument parentheses
Plugin error in '50sp.rb'.
Plugin error in '/***/diary/misc/plugin/rast-register.rb'.
Shared object "librast_ruby.so.0" not found - /home/3jf/www/diary/rast.so
(plugin/50sp.rb):129:in `load_plugin'
/home/3jf/www/diary/tdiary.rb:668:in `initialize'
estraier-register.rb:107:in `new'
estraier-register.rb:107:in `initialize'
estraier-register.rb:217:in `new'
estraier-register.rb:217:in `execute'
estraier-register.rb:216:in `reverse_each'
estraier-register.rb:216:in `execute'
/home/3jf/www/diary/tdiary/defaultio.rb:159:in `transaction'
estraier-register.rb:215:in `execute'
estraier-register.rb:214:in `reverse_each'
estraier-register.rb:214:in `execute'
estraier-register.rb:212:in `reverse_each'
estraier-register.rb:212:in `execute'
estraier-register.rb:89:in `transaction'
estraier-register.rb:211:in `execute'
estraier-register.rb:246

のようなメッセージがでるので、プラグインのedit_today.rb rast-register.rbを無効にすると、なんと、コマンドラインから、インデックスの作成に成功

でも、estraier-search.rbをformから実行すると

undefined method `doc_num' for nil:NilClass (NoMethodError)
(erb):44:in `do_eval_rhtml'
./tdiary.rb:1027:in `do_eval_rhtml'
./tdiary.rb:975:in `eval_rhtml'
estraier-search.rb:248

こうなる。でもestfraud.cgiはちゃんと動いてる感じだ。

追記

estfraud.cgiがちゃんと動いてる感じというのは大嘘でした。

  • Comments (Close): 0
  • Trackbacks (Close): 0

estraier-search on FreeBSD 6.2R

一昨日の続きでTest_UTF8版tDiaryを内鯖にインストール。ここの日記のデータをUTF8に変換して放り込む。

HyperEstraierは、既に入ってるので、estmasterで起動、お手軽にmaster_uiを使ってノードを作成。

estraier-search関連をコピーして、コマンドラインからestraier-register.rbを実行。無事インデックスを作り始める。

プラグインとして有効化し、再度インデックスをtDiaryの設定画面から作成。

で、estraier-search.rbを設定したformから使ってみる。

uninitialized constant TDiary::TDiaryEstraier::Date (NameError)
/home/user_name/public_html/diary/estraier-search.rb:109:in `format_result_item'
(erb):55:in `do_eval_rhtml'
(erb):53:in `each'
(erb):53:in `do_eval_rhtml'
/home/jareth/public_html/tdutf/tdiary.rb:1068:in `do_eval_rhtml'
/home/jareth/public_html/tdutf/tdiary.rb:1016:in `eval_rhtml'
/home/jareth/public_html/tdutf/estraier-search.rb:247

うぐ、こっちもダメかな(これは私がダメなだけだとは思うが)。で、HyperEstraierのmaster_uiから検索をしてみると、文字化けもなく、ちゃんと検索できるようなのでインデックスはestraier-register.rbでちゃんと更新されてるみたい。

でまあ、さらに、estraud.cgiでも試してみると、一昨日のさくらのレンタルとの時と全く同じ症状だった。もう擬似の方(estfraud.cgi)はお手上げです(^^;

追記:

ふぇみにん日記のかずひこさんのコメントをみて、estraier-search.rbに、require “date”を追加すると、Test_UTF8版のtDiaryでは、エラーも出ず、ちゃんと検索できました。

追記2:

ついでに、同じ内鯖上のtDiary(euc-jp)でも、設置してみると、HyperEstraierのmaster_uiからの検索では文字化けしてるが、estraier-search.rbからの表示には問題なし。rast-searchと比較すると、Rastの方が検索時間が100倍以上速かった。まあうちのtDiaryのデータ量だと、どちらも0.1秒以下のオーダーなので、ほとんど問題ないが

  • Comments (Close): 0
  • Trackbacks (Close): 0

さくらでHyperEstraier

かずひこ氏のバレンタインをせっかくだから試してみたいということで、さくらでHyperEstraierはインストールできるのかやってみる。

さくら・スタンダードにHyperEstraier1.4.9をインストール。Rastと同じ感覚でとりあえず、zlib-1.2.3、qdbm-1.8.74をビルドしてインストール。(libiconvも必要だがそれはさくらの鯖のものを使う)。本体をconfigureしようとしたら、gnome-config が無いとかいわれる。

この場合は、 PKG_CONFIG_PATH を設定すれば良いとのことで、

% setenv PKG_CONFIG_PATH /home/user_name/local/lib/pkgconfig

すると、configure make と通り、インストールできた。zlib、qdbmを含めてもmakeの時間は2、3分だった。ソースを残したままで40MBちょっと消費。

追記:

出先から帰ってきたので、さっそくtdiary-hyperestraierをさくらで使おうと思ったら、擬似ノードマスタ上で動くtDiary用の擬似ノードサーバを設定しなければいけないらしい。

P2P Guide of Hyper Estraier Version 1 (Japanese):擬似ノードマスタ

READMEに書いてあるノードマスタのセットアップとやらを、この擬似でやるにはどうしたらいいのやら、具体的な作業がわかりませぬ。内鯖なら、通常のノードマスタでいいから簡単なんだけど(^^;;

追記2:

せっかく、かずひこさんがコメントしてくれたのですが、結果はorz。すみません。

estcmdが正常に動いていればHyperEstraier自体のインストールには成功してるらしいので、Hyper側は良いみたい。が、URIを何回も書き換えて試して(estraier-register.rbにて)もノードを見つけてくれない(Not Found (the node does not exist))。

さくらのレンタルで、HyperEstraierを使ってる人はいるが、擬似ノードマスタのestfraud.cgiを使わず通常のノードマスタで動かしてるような気がする。それじゃあ常用はまずいでしょと思うんだが。

.htaccessでの接続制限も外して、ブラウザから直接estfraud.cgiをたたいても同じだった。以前ローカルでやったximapdでは、検索漏れに関しては、Rastの勝ちだったので、動いても常設はしなかっただろうけど、ダメな私

追記3

引用がまずかったのかツッコミできないので、本文に

>ブラウザからでもダメというのは、うまくestfraud.cgiが機能しない、ということでしょうか?

そうです。接続情報もツッコミしていただいたパターンも含め、/をつけたりはずしたり、estraier-register.rbをいじって、port番号をはずしたパターンもやってみましたが

Database not found : http://eojareth.net:80/***/estfraud.cgi/
estraier-register.rb:85:in `transaction'
estraier-register.rb:210:in `execute'
estraier-register.rb:245

という感じになります。

この話にはつづきがあります

  • Comments (Close): 0
  • Trackbacks (Close): 0

tDiary 2.1.4.20061126 クリーンインストール

配下のディレクトリがかなり汚れてきたので、coreだけアップデートした状態でもあるし、別ディレクトリにさらからインストールしなおして、移動。

使ってない外部プラグインを思い切って削除。残ったものメモ。

Plugin contrib

  • google_analytics.rb plugin/google
  • jdate.rb plugin/japanese
  • rast-register.rb util/rast-search

Plugin 外部

  • category_to_tagcloud.rb
  • edit_today.rb
  • flickr.rb
  • section_footer.rb

いじってるもの

  • index.rb update.rb rast-search.rb rast-register.rb 先頭にLD_LIBRARY_PATHを付加
  • edithelper.rb
  • skel/category.rhtml
  • skel/rast.rhtml
  • section_footer.rb
  • plugin/00default.rb
  • Comments (Close): 0
  • Trackbacks (Close): 0

ツッコミでエラーがでて2重投稿

な状態になってる。これから出かけないといけないのでツッコミはご遠慮ください(^^;

追記:エラーメッセージをみると、category_to_tagcloud.rbがどうの。。。なので無効にするとOKみたい。

このプラグインが使えないのは悲しいので、作者のページを見に行くとcategory_to_tagcloud.rbの新しいものがでてる。入れ替えるとツッコミ時のエラーもでなくなった。Rastを再コンパイルしたときになんかやっちまったような気もする。。。このプラグインだけのせいならいいんだけど。

あれま、recent_comment3.rbも機能してないような。

追記2:

SmallStyle – タグクラウド表示プラグイン(5)

先ほど、見た作者のページの2日後にさらに更新されていた模様。先ほど入れ替えたものがこの最新版で、ツッコミの件もバグだったようで一安心。recent_comment3.rbについてはcacheを消すとOKみたいだ。

  • Comments (Close): 0
  • Trackbacks (Close): 0

Home > Tags > Rast

Posting tweet...

Powered by Twitter Tools

メタ情報

Return to page top