[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)まずはビルドの基本をインストール
ライブラリのパスを通す
3)CouchDBのビルドとインストール
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
コメント