CentOSにTokyo Cabinet、Tokyo TyrantをインストールしてPerlで繋いでPHPから利用する為に

CentOSにTokyo CabinetとTokyo Tyrantをインストールした際のメモ。


まずはTokyo Cabinetのインストール。

cd /root/src
wget http://1978th.net/tokyocabinet/tokyocabinet-1.4.36.tar.gz
tar -xvzf tokyocabinet-1.4.36.tar.gz
cd tokyocabinet-1.4.36
./configure --prefix=/usr
make
make install

上記makeにてエラーが発生した場合は以下のコマンドにて依存するパッケージを別途インストールして再実行。

yum install bzip2-devel

だいたいの場合はこれでok。


つづいてTokyo Tyrantのインストール。

cd /root/src
wget http://1978th.net/tokyotyrant/tokyotyrant-1.1.37.tar.gz
tar -xvzf tokyotyrant-1.1.37.tar.gz
cd tokyotyrant-1.1.37
./configure --prefix=/usr
make
make install

で、実行する際の個人的なコマンドの都合上シンボリックリンクを作成。

ln -s /usr/sbin/ttservctl /etc/init.d/ttservctl


今回はTokyo Cabinetをテーブル構造として利用する為に「/usr/sbin/ttservctl」を編集。

#ファイル中の「dbname」を「casket.tch」から「casket.tct」に変更。


で、Tokyo Tyrantサービスを起動

/usr/local/sbin/ttservctl start


次にTokyo TyrantPerlから操作する為のクライアントのインストール。

cd /root/src
wget http://1978th.net/tokyotyrant/perlpkg/tokyotyrant-perl-1.15.tar.gz
tar -xvzf tokyotyrant-perl-1.15.tar.gz
cd tokyotyrant-perl-1.15
perl MakeFile.PL
make
make install


で・・・PerlPHPから実行する為にPECL-Perlのインストール。
周りくどいし、Tokyo TyrantPHPクライアントを何とかした方が良かったかも。。

pecl install perl

ここで

ERROR: `phpize' failed

とかエラーが出る場合はphpizeが無いよってことなのでphp-develを入れれば解決。

yum -y install php-devel

としてもう一度実行してやれば解決。
けど

Package "perl" Version "1.0.0" dose not have REST xml available

とかエラーが出る場合はソースをダウンロードしてコンパイルしてやるしかない。。

cd /root/src
wget http://pecl.php.net/get/perl-1.0.0.tgz
tar -xvzf perl-1.0.0.tgz
cd perl-1.0.0
phpize
./configure --prefix=/usr
make
make install
chmod 644 /usr/lib/20060613/perl.so

で最後に「/etc/php.ini」に

extension=perl.so

の記述を追加してやって

/etc/init.d/httpd restart

でok。


PECL-Perlに関しては中を見たわけでもないし性能面が気になるところ。