Ubuntu 11.04 への CouchDB のインストール

CouchDB とは JSON 形式のデータをそのまま飲み込んでくれる DB です。

CouchDB のインストール

最初に libmozjs を入れておく。

$ sudo apt-get install libmozjs-dev

次に http://couchdb.apache.org/downloads.html から apache-couchdb-1.1.1.tar.gz を取ってきて,展開 & configure

$ tar zxvf apache-couchdb-1.1.1.tar.gz
$ cd apache-couchdb-1.1.1/
$ ./configure

configure: error: Library requirements (ICU) not met.
http://ibm.com/software/globalization/icu/

ICUがないぞ!と怒られたから libicu-dev をインストールして,再度 configure.

$ sudo apt-get install libicu-dev
$ ./configure

configure: error: Library requirements (curl) not met.

今度は curl がない!と。synaptic package manager で調べたら libcurl4-openssl-dev が見えたから,これを入れてみる。(既にインストールされていたのは libcurl3 だが大丈夫だろうか?という不安を抱えながら)

$ sudo apt-get install libcurl4-openssl-dev
$ ./configure

configure: error: Could not find the `erl' executable. Is Erlang installed?

Erlang の不足を指摘された。CouchDB は Erlang で書かれているそうだから,当然か。

$ sudo apt-get install erlang
$ ./configure
....................................
You have configured Apache CouchDB, time to relax.

Run `make && sudo make install' to install.

やっとうまくいった。指示されるままに make & make install。
この結果,/usr/local 下に CouchDB がインストールされる。

$ make
$ sudo make install

CouchDB のユーザ couchdb を作る

$ sudo adduser --system --home /usr/local/var/lib/couchdb --no-create-home --shell /bin/bash --group --gecos "CouchDB Administrator" couchdb
システムユーザ `couchdb' (UID 115) を追加しています...
新しいグループ `couchdb' (GID 124) を追加しています...
新しいユーザ `couchdb' (UID 115) をグループ `couchdb' に追加しています...
ホームディレクトリ `/usr/local/var/lib/couchdb' は作成しませんでした.

CouchDB に関するファイルのオーナーの変更

$ sudo chown -R couchdb:couchdb /usr/local/etc/couchdb
$ sudo chown -R couchdb:couchdb /usr/local/var/lib/couchdb
$ sudo chown -R couchdb:couchdb /usr/local/var/log/couchdb
$ sudo chown -R couchdb:couchdb /usr/local/var/run/couchdb

起動と停止

起動:

$ sudo -i -u couchdb couchdb -b
Apache CouchDB has started, time to relax.

停止:

$sudo -i -u couchdb couchdb -d

Web ブラウザで DBへのアクセス

http://127.0.0.1:5984/ へアクセスすると
{"couchdb":"Welcome","version":"1.1.1"}
が返ってきた。JSON だ。

また,次の URL を与えると管理画面が表示される。
http://127.0.0.1:5984/_utils/
f:id:ymuto109:20120330011050p:image