まずはMacPortsでHyperEstraierのインストール。
$ sudo port install hyperestraier
~/local/varにクローラルートディレクトリを作成しました。クロール範囲を先日設定したsinatra-rubygemsのアドレスに設定。
$ estwaver init est_gemdoc $ nano est_gemdoc/_conf # seed documents seed: 1.0|http://gems.local allowrx: ^http://gems.local
クロールさせてみる。
$ estwaver crawl -revcont est_gemdoc
検索用CGIスクリプトを設置して設定を変更。
$ mkdir Sites/estraier $ cp /opt/local/libexec/estseek.cgi ~/Sites/estraier $ cp /opt/local/share/doc/hyperestraier/locale/ja/estseek.* ~/Sites/estraier $ nano ~/Sites/estraier/estseek.conf indexname: /Users/username/local/var/est_gemdoc/_index
Apache2の設定を変更。
$ sudo nano /etc/apache2/httpd.conf
AddHandler cgi-script .cgi
$ sudo nano /etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerName estgd.local
DocumentRoot "/Users/username/Sites/estraier"
<directory "/Users/username/Sites/estraier">
Order allow,deny
Allow from all
Options ExecCGI
</directory>
</VirtualHost>
$ sudo apachectl gracefulで、estgd.localにアクセスすると、検索ページが表示された。
で、作業途中でRDocディレクトリをクロールさせてreplaceでURLに書き換えれば、クローラは必要ないんじゃないかと思った。それから~/Sites/estraierって名前だと抽象的すぎるよね…。
それからそれから、検索CGIをsinatraで作ってみたくなった。時間無いけど。