« 2007年01月 | メイン | 2007年03月 »
CentOS4.4 で PHP5 を yum でインストールしたい場合は,yumのリポジトリの設定を以下のように変更します。
# vi /etc/yum.repos.d/CentOS-Base.repo
[centosplus]
name=CentOS-$releasever - Plus baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1 #ここを 1 に変更。
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
Hyper Estraierのインストールには事前に以下のライブラリが必要です。
http://sns.icns.cc/article.php?story=2006071011225788 より* libiconv : 文字コード変換。バージョン1.9.1以降。
* zlib : 可逆データ圧縮。バージョン1.2.1以降。
* QDBM : 組み込み用データベース。バージョン1.8.49以降。
うちの以下の二つだけ入れれば無事コンパイルできました。
libiconv
http://ftp.yz.yamagata-u.ac.jp/pub/GNU/libiconv/
QDBM
http://qdbm.sourceforge.net/
えらいはまりました。
Hyperestraier のセットアップ。
拙いながらスクリプトも書いてみました。
#!/bin/bash
mkdir /var/hyperestraier
useradd -d /var/hyperestraier -s /sbin/nologin estraier
chown estraier:estraier /var/hyperestraier -R
sudo -u estraier estmaster init /var/hyperestraier
こんなのスクリプトにするまでもないね。
まあ作業ログってことで。
acts_as_searchableプラグイン。
hyperestraierでモデルを全文検索できるようになります。
./script/plugin install svn://poocs.net/plugins/trunk/acts_as_searchable
例
class User < ActiveRecord::Base
acts_as_searchable :searchable_fields=>[:name, :introduce]
end
としておけば、name introduce カラムが検索の対象になります。
User.reindex!
User.estraier_connection.status #=> 200
これでHyperEstraierインデックスが変更されます。
失敗してもエラーをはかないらしいので一応 status を確認しておく必要あり。
また、save, destroy等、モデルの変更があった際には、自動的にインデックスが変更されます。
検索方法はこんなかんじ。
User.fulltext_search('検索ワード')
参考サイト
validates_captchaは、rails で、画像認証 captcha ができるようになるプラグインです。
RMagickに依存していています。
script/plugin install http://svn.2750flesk.com/plugins/trunk/validates_captcha
で、次に、設定ファイルと、必要ディレクトリを用意します。以下のコマンドを実行すればOK。
script/generate captcha config
script/generate captcha image_directory
script/generate captcha store_directory
config/captcha.yml で、ディレクトリは変えられますが、その場合は自分で mkdir しましょう。
複数のサーバーにデプロイする場合など、インストールの手続きを自動化しておけると便利です。
今回は、RMagickのインストールを自動化してみます。
config/deploy.rb に以下のように記述。
desc "Install RMagick"
task :install_rmagick do
sudo "yum install ImageMagick -y"
sudo "yum install ImageMagick-devel -y"
sudo "gem install rmagick --include-dependencies"
end
task :before_migrate do
install_rmagick
end
これで、migrate タスクが実行される前に、RMagickがインストールされます。
少々めんどくさいですが、一回使用した後はコメントアウトしておけばいいかなと。
まったく新しいサーバーにデプロイすることなんかそう頻繁には起こらないとは思うので、有用性は低いですが、書いておけば、デプロイ時にライブラリの依存関係で悩む事はなくなります。
備忘録としての役割が強いかな。