[couchDB] CouchDB-1.0.1とSpiderMonkeyをUbuntu 10.4 LTS (Lucid) でコンパイル

最近NoSQL系のバックエンドとして有望株であるcouchDBをUbuntu 10.4上で試している。Ubuntuさんについてくる(apt-getできる)couchDBのバージョンは0.10.0と若干古いので、現段階で最新の1.0.1をビルドする手順を以下にまとめておきます。

1)まずはビルドの基本をインストール


sudo apt-get install build-essential


2)次にJS実行エンジンのSpiderMonkeyをインストール

Ubuntuでビルドするときの手順として、spidermonkeyではなく、xulrunnerを使う方法もあるけど、なんか色々面倒くさい設定などがあるらしいので、SpiderMonkeyを使います。


参考URL: http://wiki.apache.org/couchdb/Installing_SpiderMonkey



ソースの取得


http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz
にあるので、


curl -O http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz
でゲットしておく。


解凍してビルドする
tar xzvf js-1.8.0-rc1.tar.gz
cd js/src/

ちょっと変わったmake方法なので、以下の通りmakeする。
ビルド:
make BUILD_OPT=1 -f Makefile.ref

インストール:

ターゲットは"export"というらしい。
sudo make BUILD_OPT=1 JS_DIST=/usr/local -f Makefile.ref export



ライブラリのパスを通す
make export実行時にコンソールに吐き出された最後の数行で
cp Linux_All_OPT.OBJ/libjs.a /usr/local/lib64
cp Linux_All_OPT.OBJ/libjs.so /usr/local/lib64
cp Linux_All_OPT.OBJ/js /usr/local/bin
(上記は64bit版の場合。32bit版はたぶん/usr/local/lib)と出力されているで、libjs.soの置き場所をld.so.confに追加する。これをしないと、後でcouchdbがうまく動いてくれない。

sudo vi /etc/ld.so.conf.d/spidermonkey.conf
とでもして、以下の内容を書いておく

# Spider Monkey js
/usr/local/lib64

sudo ldconfig
でキャッシュを更新。



念の為確認しておく。
sudo ldconfig -p|grep libjs
libjs.so (libc6,x86-64) => /usr/local/lib64/libjs.so
いたいた。

ここまででSpiderMonkeyのインストールは完了。次にいよいよcouchDBをビルド、インストールする。
ここから先はほぼ
http://d.hatena.ne.jp/z-ohnami/20100729/1280412344
を参考にさせていただきました。多謝。





3)CouchDBのビルドとインストール

依存パッケージのインストール
sudo apt-get install libicu-dev libcurl4-gnutls-dev libtool erlang-dev erlang

couchDBソースの取得
http://couchdb.apache.org/downloads.html
からリンクされた最新版をミラーから落とす。
curl -O http://ftp.kddilabs.jp/infosystems/apache//couchdb/1.0.1/apache-couchdb-1.0.1.tar.gz



解凍してビルドする。
tar xzvf apache-couchdb-1.0.1.tar.gz
cd apache-couchdb-1.0.1/


今回は/usr/local下にインストールするので、--prefixなどは特にいじっていない。また、SpiderMonkeyを使うので、--with-js-libなど、xulrunner指定箇所は省く。
結局、


./configure
make && sudo make install


でいける。



couchDBを実行するユーザーを作成する。

UbuntuOneがcouchDBを使用している関係で、couchdbというユーザーがすでに存在する可能性があるので、参考URLの通り、couchuserというuserで実行することにする。
以下ほぼまるコピ


sudo adduser --system --home /usr/local/var/lib/couchdb \
--no-create-home -shell /bin/bash --group --gecos \
"CouchDB Administrator" couchuser

所有権とパーミションの修正

sudo chown -R couchuser:couchuser /usr/local/etc/couchdb
sudo chown -R couchuser:couchuser /usr/local/var/lib/couchdb/
sudo chown -R couchuser:couchuser /usr/local/var/log/couchdb/
sudo chown -R couchuser:couchuser /usr/local/var/run/couchdb/
sudo chmod 0770 /usr/local/var/run/couchdb/
sudo chmod 0770 /usr/local/var/lib/couchdb/
sudo chmod 0770 /usr/local/var/log/couchdb/
sudo chmod 0770 /usr/local/etc/couchdb

作成したユーザーで実行するようにcouchDBの設定を変更する
sudo vi /usr/local/etc/default/couchdb

COUCHDB_USER=couchdb
COUCHDB_STDOUT_FILE=/dev/null

COUCHDB_USER=couchuser ←couchuserに変更

以上でインストール完了。
試しに実行してみる。
sudo -u couchuser couchdb

起動したらブラウザで
http://localhost:5984/_utils/
にあるFutonインターフェースを開く。

右側のメニューにある Test Suiteを開いて
Run Allでテストをすべて実行して、すべて動いたらOK




コメント

人気の投稿