2015-04-07

Ubuntu 安裝 CouchDB

阿舍當初在找 NoSQL 的資料庫來研究時候,就有看過這個 CouchDB 資料庫了,不過,阿舍那時候看到 MongoDB 好像比較熱門一點,所以,就西瓜偎大邊的跑去玩 MongoDB 了,阿舍本來以為 MongoDB 的概念和阿舍之前熟悉的 Lotus Domino 的資料庫很像,但是,用了之後才發現,只有一小部份像而已哩 ! 不過,最近再研究這個 CouchDB 之後才發現,這個 CouchDB 才是阿舍想要用的 NoSQL 資料庫哩 !



在 Ubuntu 上用 apt-get 就可以安裝好 CouchDB,不過,版本不一定是最新的,如果想用最新版的話,就要自己下載原始碼來編譯和安裝,阿舍本來以為會很麻煩,所以,就直接用下面的指令安裝舊一版的 CouchDB 來用,但是,後來,阿舍有空就試著自己編譯和安裝看看,就發現,只要一行指令就可以安裝到好了哩 !

$ sudo apt-get install couchdb

在 CouchDB 的官方 Wiki 網頁上有提供自行編譯和安裝的步驟,另外,阿舍有找到這位先生整理的步驟,阿舍仔細看了一遍,就發現,似乎沒有特別需要人工介入操作的動作,因此,阿舍就把這些步驟弄成一個 Shell Script 來跑,結果,它就可以自己一路的跑完,然後,啟動起來哩 ! 下面就是阿舍根據這篇修改的 Script 檔案的內容 ....

#!/bin/bash

apt-get install --yes build-essential curl git

apt-get install --yes python-software-properties python g++ make

apt-get install -y erlang-dev erlang-manpages erlang-base-hipe erlang-eunit erlang-nox erlang-xmerl erlang-inets

apt-get install -y libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool

cd /tmp

wget http://ftp.fau.de/apache/couchdb/source/1.6.1/apache- couchdb-1.6.1.tar.gz

tar xvzf apache-couchdb-*

cd apache-couchdb-*

./configure && make

make install

useradd -d /var/lib/couchdb couchdb

chown -R couchdb: /var/lib/couchdb /var/log/couchdb

chown -R couchdb: /usr/local/var/{lib,log,run}/couchdb / usr/local/etc/couchdb

chmod 0770 /usr/local/var/{lib,log,run}/couchdb/

chmod 664 /usr/local/etc/couchdb/*.ini

chmod 775 /usr/local/etc/couchdb/*.d

cd /etc/init.d

ln -s /usr/local/etc/init.d/couchdb couchdb

/etc/init.d/couchdb start

update-rc.d couchdb defaults

service couchdb restart

echo 'done.'

請把上面這些指令複製到一個叫做 install_couchdb.sh 的檔案後,用下一面第一行的指令來讓它變成是可執行的 script 之後,再用 sudo 來執行它,這樣,它就會一路的跑完下載、編譯和安裝及啟動的動作了。

$ chmod +x ./install_couchdb.sh

$ sudo ./install_couchdb.sh

這個 script 跑完之後,就可以用下面這一行的 curl 指令來直接對 CouchDB 執行查詢的動作,如果有順利傳回像下面第二行的資訊的話,那就表示安裝有成功了囉 !

$ curl http://127.0.0.1:5984

{"couchdb":"Welcome","uuid":"2221703656d8ab387823699722cecba2","version":"1.6.1","vendor":{"name":"The Apache Software Foundation","version":"1.6.1"}}

CouchDB 內建的 HTTP 伺服器只能在本機上作存取,如果想要開放遠端存取的話,就需要打開 /usr/local/etc/couchdb/local.ini 這個檔案,然後,找到 [httpd] 節之後,把它下面的 port 和 bind_address 這二個項目給啟用並調整如下。

[httpd]
port = 5984
bind_address = 0.0.0.0

調好之後,再用下面的指令重新啟動 CouchDB 之後,就應該可以從別台電腦透過 HTTP 連過來操作 CouchDB 了哩 !

$ sudo service couchdb restart

另外,CouchDB 內建有提供簡單的 Web 管理工具,可用下面這個網址來開啟 (如下圖)。

http://127.0.0.1:5984/_utils/



推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁