CouchDB に関する新しいシリーズを開始します。これは、CouchDB シリーズの最初の記事です。
CouchDB は Apache プロジェクトです。
その名の通りデータベースです。 CouchDB は NoSQL データベースです。 NoSQL データベースには、Oracle や MySQL などの従来のデータベースで通常見られるスキーマやテーブルなどはありません。 CouchDB のデータは JSON ドキュメントとして保存され、HTTP を使用して Web ブラウザからアクセスできます。
この記事では、RHEL ベースのシステムに CouchDB をインストールする方法について説明します。たとえば、CentOS、Red Hat、Oracle Enterprise Linux などです。
CouchDB をインストールするには 2 つの方法があります。 EPEL リポジトリからインストールするか、CouchDB ソース コードからインストールできます。
方法 1:EPEL からインストール
最初に、前に説明したように EPEL リポジトリを有効にします。
yumのインストールでcouchdbが利用可能であることを確認してください。
# yum info couchdb Name : couchdb Arch : x86_64 Version : 1.0.3 Release : 2.el6 Size : 1.7 M Repo : epel Summary : A document database server, accessible via a RESTful JSON API
カウチデブをインストールします。システムによっては、これにより多くの依存パッケージがインストールされる場合があります。私のシステムでは、合計 36 個のパッケージがインストールされました。
# yum install couchdb
local.ini ファイルを変更し、bind_address の行を追加して、IP アドレスに、couchdb がインストールされているシステムを指定します。
# vi /etc/couchdb/local.ini [httpd] ;port = 5984 ;bind_address = 127.0.0.1 bind_address = 192.168.101.38
couchdb サービスを開始する
# service couchdb start Starting couchdb: [ OK ] # service couchdb status couchdb (pid 29915) is running...
http://{your-ip-address}:5984 という URL にアクセスして、couchdb が機能することを確認します。次のメッセージを含む Web ページが表示されます。
{“couchdb”:“Welcome” ,”バージョン”:”1.0.3”}
http://{your-ip-address}:5984/_utils/ にアクセスしてください。ここから、couchdb データベースを作成および管理できます。
方法 2:CouchDB ソース コードからインストールする
ソース コードから自分でインストールする場合は、まずすべての依存関係を満たす必要があります。
CentOS リポジトリから次の標準パッケージをインストールします。
# yum info gcc libtool xulrunner-devel libicu-devel openssl-devel
アーランをインストール
ここから Erland の最新バージョンをダウンロードします。または、以下に示すように wget を使用して直接ダウンロードすることもできます。
cd /usr/src wget http://www.erlang.org/download/otp_src_R15B01.tar.gz tar xvfz otp_src_R15B01.tar.gz
/opt/couchdb ディレクトリの下に、couchdb とそのすべての依存関係をインストールします。そのため、erlang をインストールするときに、以下に示すようにプレフィックスを /opt/couchdb/erlang として指定してください。
cd otp_src_R15B01 ./configure --prefix=/opt/couchdb/erlang --without-termcap --without-javac --enable-smp-support --disable-hipe make make install
カールをインストール
ここから最新バージョンの Curl をダウンロードします。または、以下に示すように wget を使用して直接ダウンロードすることもできます。
cd /usr/src wget http://curl.haxx.se/download/curl-7.26.0.tar.gz tar xvfz curl-7.25.0.tar.gz
Erlang と同じように、Curl も /opt/couchdb ディレクトリにインストールします。そのため、curl をインストールする際に、以下に示すようにプレフィックスを /opt/couchdb/curl として指定してください。
cd curl-7.25.0 ./configure --prefix=/opt/couchdb/curl make make install
SpiderMonkey JS エンジン
ここから SpiderMonkey JS の最新バージョンをダウンロードします。または、以下に示すように wget を使用して直接ダウンロードすることもできます。
cd /usr/src wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz tar xvfz js185-1.0.0.tar.gz
Spidermonkey js エンジンをインストールするには、以下に示すように ./configure と make を実行するために、js-1.8.5 の下の「js/src」サブディレクトリに cd する必要があることに注意してください。
cd js-1.8.5/js/src ./configure make make install
libmozjs185.so.1.0.0 と libmozjs185-1.0.a が /usr/local/lib にインストールされていることがわかります
# ls -ltr /usr/local/lib -rwxr-xr-x. 1 root root 3671764 May 30 09:39 libmozjs185.so.1.0.0 -rwxr-xr-x. 1 root root 5523616 May 30 09:39 libmozjs185-1.0.a lrwxrwxrwx. 1 root root 35 May 30 09:40 libmozjs185.so.1.0 -> /usr/local/lib/libmozjs185.so.1.0.0 lrwxrwxrwx. 1 root root 33 May 30 09:40 libmozjs185.so -> /usr/local/lib/libmozjs185.so.1.0
注:Spidermonkey JS ライブラリがインストールされていない場合、次の手順で説明する ./configure を実行しようとすると、次のエラー メッセージが表示されます。
checking for JS_NewObject in -lmozjs185... no configure: error: Could not find the js library. Is the Mozilla SpiderMonkey library installed?
CouchDB をインストール
ここから Couchdb の最新バージョンをダウンロードします。または、以下に示すように wget を使用して直接ダウンロードすることもできます。
cd /usr/src wget http://apache.mirrors.pair.com/couchdb/releases/1.2.0/apache-couchdb-1.2.0.tar.gz tar xvfz apache-couchdb-1.2.0.tar.gz
couchdb をインストールする際、以下に示すように ERL、ERLC、CURL_CONFIG 環境変数を設定する必要があります。これらは、couchdb の ./config 中に必要です。
前提条件と同様に、couchdb を /opt/couchdb ディレクトリにインストールします。したがって、以下に示すように /opt/couchdb/couchdb のようにプレフィックスを付けてください。
cd apache-couchdb-1.2.0 export ERL=/opt/couchdb/erlang/bin/erl export ERLC=/opt/couchdb/erlang/bin/erlc export CURL_CONFIG=/opt/couchdb/curl/bin/curl-config export LDFLAGS=-L/opt/couchdb/curl/lib ./configure --prefix=/opt/couchdb/couchdb --with-erlang=/opt/couchdb/erlang/lib/erlang/usr/include/ --enable-js-trunk make make install
注:–enable-js-trunk は、SpiderMonkey JS エンジンの最新バージョン (js185-1.0.0 より新しいもの) をインストールした場合にのみ使用します。 –enable-js-trunk オプションを使用することをお勧めします。
最新バージョンの Spidermonekey JS エンジンを使用していない場合は、フラグ –with-js-include および –with-js-lib を使用して、以下に示すように適切な場所を指定することをお勧めします。
./configure --prefix=/opt/couchdb/couchdb --with-erlang=/opt/couchdb/erlang/lib/erlang/usr/include/ --with-js-include=/usr/include/xulrunner-2/ --with-js-lib=/usr/lib64/xulrunner-devel-2/lib/
注:Spidermonkey js の最新バージョンをインストールしていて、–enable-js-trunk を使用していない場合、couchdb の「make」中に次のエラー メッセージが表示されます:
cc1: warnings being treated as errors In file included from couch_js/main.c:20: couch_js/sm170.c: In function req_status: couch_js/sm170.c:105: error: implicit declaration of function INT_FITS_IN_JSVAL couch_js/sm170.c: In function evalcx: couch_js/sm170.c:138: error: implicit declaration of function JS_GetStringChars couch_js/sm170.c:138: error: assignment makes pointer from integer without a cast couch_js/sm170.c: In function seal: couch_js/sm170.c:220: error: implicit declaration of function JS_SealObject couch_js/sm170.c: At top level: couch_js/sm170.c:236: error: initialization from incompatible pointer type
CouchDB スタートアップ サービスのセットアップ
couchdb 起動プログラムに必要なcouchdb ユーザーを作成します。
# adduser couchdb
couchdb がログやその他の情報を書き込む var ディレクトリの所有権を変更します。
# chown -R couchdb /opt/couchdb/couchdb/var/
/etc/init.dの下にcouchdbサービスのリンクを作成
# ln -s /opt/couchdb/couchdb/etc/rc.d/couchdb /etc/init.d/couchdb
最後に、couchdb サービスを開始します。
# service couchdb start Starting database server couchdb
http://{your-ip-address}:5984 という URL にアクセスして、couchdb が機能することを確認します。次のメッセージを含む Web ページが表示されます。
{“couchdb”:“Welcome” ,”バージョン”:”1.0.3”}
http://{your-ip-address}:5984/_utils/ にアクセスしてください。そこから coucbdb データベースを作成および管理できます。
このシリーズの次の記事では、CouchDB データベースを作成し、基本的なデータ操作を実行する方法について説明します。