CentOS5.6にCouchDBをインストール

Facebook にシェア
このエントリーをはてなブックマークに追加
[`livedoor` not found]
Delicious にシェア

ドキュメント指向型のNoSQLであるCouchDBをインストールしてみました。
OSはCentOS5.6となります。

1. CouchDBインストール
yumからCouchDBをパッケージインストールします。

[shmachid@hoge ~]$ yum list | grep couchdb
couchdb.x86_64                             0.11.2-2.el5                epel
[shmachid@hoge ~]$ su -
[root@hoge ~]# yum install couchdb enablerepo=remi
Loaded plugins: downloadonly, fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * addons: ftp.nara.wide.ad.jp
 * base: ftp.nara.wide.ad.jp
 * epel: ftp.kddilabs.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
addons                                                              |  951 B     00:00
base                                                                | 2.1 kB     00:00
epel                                                                | 3.7 kB     00:00
extras                                                              | 2.1 kB     00:00
updates                                                             | 1.9 kB     00:00
Excluding Packages in global exclude list
Finished
208 packages excluded due to repository priority protections
Setting up Install Process
No package enablerepo=remi available.
Resolving Dependencies
--> Running transaction check
---> Package couchdb.x86_64 0:0.11.2-2.el5 set to be updated
--> Processing Dependency: erlang-tools for package: couchdb
--> Processing Dependency: erlang-sasl for package: couchdb
--> Processing Dependency: erlang-crypto for package: couchdb
--> Processing Dependency: erlang-mochiweb for package: couchdb
--> Processing Dependency: erlang-stdlib for package: couchdb
--> Processing Dependency: erlang-kernel for package: couchdb
--> Processing Dependency: erlang-erts for package: couchdb
--> Processing Dependency: erlang-inets for package: couchdb
--> Processing Dependency: erlang-ibrowse for package: couchdb
--> Processing Dependency: erlang-oauth for package: couchdb
--> Processing Dependency: libjs.so.1()(64bit) for package: couchdb
--> Running transaction check
---> Package erlang.x86_64 0:R12B-5.10.el5 set to be updated
---> Package erlang-ibrowse.x86_64 0:2.1.0-1.el5 set to be updated
---> Package erlang-mochiweb.x86_64 0:1.4.1-5.el5 set to be updated
---> Package erlang-oauth.x86_64 0:1.0.1-1.el5 set to be updated
---> Package js.x86_64 0:1.70-8.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================
 Package                   Arch             Version                   Repository      Size
===========================================================================================
Installing:
 couchdb                   x86_64           0.11.2-2.el5              epel           558 k
Installing for dependencies:
 erlang                    x86_64           R12B-5.10.el5             epel            39 M
 erlang-ibrowse            x86_64           2.1.0-1.el5               epel            48 k
 erlang-mochiweb           x86_64           1.4.1-5.el5               epel           368 k
 erlang-oauth              x86_64           1.0.1-1.el5               epel            27 k
 js                        x86_64           1.70-8.el5                epel           392 k

Transaction Summary
===========================================================================================
Install       6 Package(s)
Upgrade       0 Package(s)

Total download size: 41 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): erlang-oauth-1.0.1-1.el5.x86_64.rpm                          |  27 kB     00:00
(2/6): erlang-ibrowse-2.1.0-1.el5.x86_64.rpm                        |  48 kB     00:00
(3/6): erlang-mochiweb-1.4.1-5.el5.x86_64.rpm                       | 368 kB     00:00
(4/6): js-1.70-8.el5.x86_64.rpm                                     | 392 kB     00:00
(5/6): couchdb-0.11.2-2.el5.x86_64.rpm                              | 558 kB     00:00
(6/6): erlang-R12B-5.10.el5.x86_64.rpm                              |  39 MB     00:02
-------------------------------------------------------------------------------------------
Total                                                       12 MB/s |  41 MB     00:03
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : erlang                                                              1/6
  Installing     : js                                                                  2/6
  Installing     : erlang-oauth                                                        3/6
  Installing     : erlang-mochiweb                                                     4/6
  Installing     : erlang-ibrowse                                                      5/6
  Installing     : couchdb                                                             6/6

Installed:
  couchdb.x86_64 0:0.11.2-2.el5

Dependency Installed:
  erlang.x86_64 0:R12B-5.10.el5                erlang-ibrowse.x86_64 0:2.1.0-1.el5
  erlang-mochiweb.x86_64 0:1.4.1-5.el5         erlang-oauth.x86_64 0:1.0.1-1.el5
  js.x86_64 0:1.70-8.el5

Complete!

あっさりインストールは完了します。CouchDBのdefault portは5984となります。
また、CouchDBにはWebサーバ機能も付加されている為、bindアドレスを変更します。
/etc/couchdb以下にCouchDBのiniファイルがありますので、必要に応じてbindアドレスとportを変更します。

[root@hoge couchdb]# pwd
/etc/couchdb

2. CouchDB起動
以下を実行し、CouchDBを起動します。option “-b”を付与することで、バックグラウンド実行となります。

[root@hoge ~]# couchdb
Apache CouchDB 0.11.2 (LogLevel=info) is starting.

=INFO REPORT==== 10-Aug-2011::01:20:31 ===
    warning: "TODO: max is currently unsupported"
    max: "2048"
Apache CouchDB has started. Time to relax.
[info] [<0.29.0>] Apache CouchDB has started on http://49.212.1.17:xxxx/

上記の”xxxx”には先ほど変更したportが入ります。
なお、CouchDBを止めたい時は$ couchdb -d で終了させます。
続いて、上記のURLにアクセスします。まず、curlで実行してみます。
JSON形式でレスポンスが返ってきます。また、今回のバージョンは0.11.2とわかります。

[shmachid@hoge ~]$ curl  http://49.212.1.17:xxxx/
{"couchdb":"Welcome","version":"0.11.2"}

ブラウザからアクセスしてみます。

3. 管理コンソール「Futon」
CouchDBには、管理コンソール「Futon」が用意されています。
先ほどのURLに”_utils”を付加し、ブラウザからアクセスします。

これでベースセットアップは完了です。

以上です。