| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
「Estraier」の後継である「Hyper Estraier」を導入する。
ここでは
/var/apache2/htdocs
以下のすべてを検索対象ディレクトリとし、インデックスを
/var/apache2/hyperestraier/
に作成するものとする。
なお、「Apache」の設定は完了済みとする。
まず、「Hyper Estraier」の導入に必要なものをインストールする。
必要なものは以下の通り。
・libiconv : バージョン1.9.1以降(glibcにも同梱)
・zlib : バージョン1.2.1以降
・QDBM : バージョン1.8.75以降
おそらく「zlib」は標準でインストールされている。
インストールされていない場合、下記の「libiconv」のインストールと同様に行えば良い。
パッケージも「libiconv」と同じサイトにある。
なお、「PHP」の導入にも「zlib」が必要であり、こちらに導入方法があるので、必要な場合は参照。
「libiconv」のインストール
「libiconv」のインストールには「libgcc」あるいは「gcc」が必要なので、導入していない場合、インストールする。
ここでは、「gcc」をインストールしている。
・「gcc」のインストール Solaris# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/gcc-3.4.6-sol10-x86-local.gz Solaris# gunzip gcc-3.4.6-sol10-x86-local.gz <= ダウンロードしたファイルの展開 Solaris# pkgadd -d gcc-3.4.6-sol10-x86-local |& tee pkg-bind.log <= パッケージのインストール Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: <= 空Enter Do you want to install these conflicting files [y,n,?,q] y ・「libiconv」のインストール Solaris# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libiconv-1.11-sol10-x86-local.gz Solaris# gunzip libiconv-1.11-sol10-x86-local.gz <= ダウンロードしたファイルの展開 Solaris# pkgadd -d libiconv-1.11-sol10-x86-local |& tee pkg-bind.log <= パッケージのインストール Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: <= 空Enter Do you want to install these conflicting files [y,n,?,q] y |
「QDBM」のインストール
ソースからインストールするが、「zlib」を有効にする。
その為、もしインストールしていない場合、先にインストールしておく。
Solaris# mkdir /usr/local/src/qdbm <= 作業用ディレクトリの作成 Solaris# chmod 777 /usr/local/src/qdbm <= 作業用ディレクトリのパーミッション変更 Solaris# exit <= 一般ユーザになる Solaris% cd /usr/local/src/qdbm <= 作業用ディレクトリへ移動 Solaris% wget http://qdbm.sourceforge.net/qdbm-1.8.75.tar.gz <= 「QDBM」のソースをダウンロード Solaris% gunzip -c qdbm-1.8.75.tar.gz | tar xf - <= ダウンロードしたファイルの展開 Solaris% cd qdbm-1.8.75 <= 展開したディレクトリに移動 Solaris% ./configure --enable-zlib |& tee configure.log Solaris% gmake |& tee make.log <= コンパイル Solaris% su <= スーパーユーザになる Password: <= パスワードの入力 Solaris# gmake install |& tee make-install.log <= インストール |
「Hyper Estraier」のインストール
Solaris# mkdir /usr/local/src/hyperestraier <= 作業用ディレクトリの作成 Solaris# chmod 777 /usr/local/src/hyperestraier <= 作業用ディレクトリのパーミッション変更 Solaris# exit <= 一般ユーザになる Solaris% cd /usr/local/src/hyperestraier <= 作業用ディレクトリへ移動 Solaris% wget http://hyperestraier.sourceforge.net/hyperestraier-1.4.10.tar.gz <= 「Hyper Estraier」のソースをダウンロード Solaris% gunzip -c hyperestraier-1.4.10.tar.gz | tar xf - <= ダウンロードしたファイルの展開 Solaris% cd hyperestraier-1.4.10 <= 展開したディレクトリに移動 Solaris% ./configure |& tee configure.log Solaris% gmake |& tee make.log <= コンパイル Solaris% su <= スーパーユーザになる Password: <= パスワードの入力 Solaris# gmake install |& tee make-install.log 2>&1 <= インストール |
デフォルトではダイナミックライブラリのパスに/usr/local/libがないので追加する。
なお、以下の方法は追加する方法。
もし新規に作成する場合はこちらを参照して登録する。
Solaris# crle -u -l /usr/local/lib |
インデックス格納先ディレクトリの作成
Solaris# mkdir /var/apache2/hyperestraier |
「Hyper Estraier」の新規実行
「Hyper Estraier」を新規に実行する場合は以下のようにする。
Solaris# estcmd gather -il ja -bc -sd /var/apache2/hyperestraier/crimson-snow /var/apache2/htdocs <= 文書の登録 Solaris# estcmd create -attr @title str -attr @mdate seq -attr @size seq /var/apache2/hyperestraier/crimson-snow <= 属性名とデータ型を指定 |
「Hyper Estraier」の実行
ページに更新があった後、「Hyper Estraier」を実行する場合は以下のようにする。
Solaris# estcmd gather -cl -il ja -bc -sd -cm /var/apache2/hyperestraier/crimson-snow /var/apache2/htdocs <= 文書の登録 Solaris# estcmd create -attr @title str -attr @mdate seq -attr @size seq /var/apache2/hyperestraier/crimson-snow <= 属性名とデータ型を指定 Solaris# estcmd purge -cl /var/apache2/hyperestraier/crimson-snow <= 削除文書の反映 Solaris# estcmd optimize /var/apache2/hyperestraier/crimson-snow <= インデックスの最適化 |
設定ファイル等格納先ディレクトリの作成
Solaris# mkdir /var/apache2/cgi-bin/hyperestraier |
各種ファイルのコピー
Solaris# cp /usr/local/libexec/estseek.cgi /var/apache2/cgi-bin/hyperestraier/estseek.cgi Solaris# cp /usr/local/share/hyperestraier/locale/ja/estseek.conf /var/apache2/cgi-bin/hyperestraier/estseek.conf Solaris# cp /usr/local/share/hyperestraier/locale/ja/estseek.tmpl /var/apache2/cgi-bin/hyperestraier/estseek.tmpl Solaris# cp /usr/local/share/hyperestraier/locale/ja/estseek.top /var/apache2/cgi-bin/hyperestraier/estseek.top Solaris# cp /usr/local/share/hyperestraier/locale/ja/estseek.help /var/apache2/cgi-bin/hyperestraier/estseek.help |
「Hyper Estraier」の設定
Solaris# vi /var/apache2/cgi-bin/hyperestraier/estseek.conf <= 設定ファイルの編集
indexname: casket
↓
indexname: /var/apache2/hyperestraier/crimson-snow <= インデックスを指定
replace: ^file:///home/mikio/public_html/{{!}}http://localhost/
↓
replace: ^file:///var/apache2/htdocs/{{!}}http://www.crimson-snow.net/ <= 検索対象ディレクトリの置換
formtype: normal
↓
formtype: web <= 入力フォームの種類をWebサイト用にする
|
ブラウザで
http://サーバのIPアドレス/cgi-bin/hyperestraier/estseek.cgi
とアクセスする。
サイト内に設置する場合
サイト内に検索用のFORMを設置する場合、設置したい場所に以下の内容を記述。
<FORM method="get" action="/cgi-bin/hyperestraier/estseek.cgi">
<DIV>
<INPUT type="text" name="phrase" value="" size="32" tabindex="1" />
<INPUT type="submit" value="Search" tabindex="2" />
<INPUT type="hidden" name="enc" value="UTF-8" />
</DIV>
</FORM>
|
Solaris# vi /root/hyperestraier.sh <= 文書の登録&インデックスの更新スクリプト作成 #!/sbin/sh ESTCMD='/usr/local/bin/estcmd' $ESTCMD gather -cl -il ja -bc -sd -cm /var/apache2/hyperestraier/crimson-snow /var/apache2/htdocs > /dev/null 2>&1 $ESTCMD create -attr @title str -attr @mdate seq -attr @size seq /var/apache2/hyperestraier/crimson-snow > /dev/null 2>&1 Solaris# chmod 744 /root/hyperestraier.sh <= 作成したスクリプトに実行権限付加 |
スクリプトの自動実行
Solaris# crontab -e <= 設定ファイルの編集 00 03 * * * /root/hyperestraier.sh <= 追加(毎日3:00にスクリプト実行) 10 03 * * 1 /usr/local/bin/estcmd purge -cl /var/apache2/hyperestraier/crimson-snow > /dev/null 2>&1 <= 追加(毎週月曜日に削除文書の反映) 30 03 1 * * /usr/local/bin/estcmd optimize /var/apache2/hyperestraier/crimson-snow > /dev/null 2>&1 <= 追加(毎月1回インデックスの最適化) |