CouchDB 一种半结构化面向文档的分布式,高容错的数据库系统,具体的可以参见其网站上的文档,以及这里 的一篇技术简介的翻译。CouchDB在Ubuntu下安装非常方便,只需要使用sudo apt-get install couchdb即可,我以为在CentOS中也会比较容易,没想到却遇到了比较多的问题。主要包括:
CentOS的安装源里不包含CouchDB
CouchDB需要Erlang的运行时支持,CentOS的安装源里也没有Erlang
OK,我们一步一步来搞定在CentOS下安装CouchDB。首先需要安装Erlang,却Erlang的官方网站下载源码,然后在本地编译安装:具体的脚本为:
< span id ="lnum1" style ="color: #606060" > 1 : < /span > wget http : < span style ="color: #008000" > //www.erlang.org/download/otp_src_R13B02-1.tar.gz</span>
< span id ="lnum2" style ="color: #606060" > 2 : < /span > tar –xzvf otp_src_R13B02 -1.tar.gz
< span id ="lnum3" style ="color: #606060" > 3 : < /span > cd otp_src_R13B02 -1
< span id ="lnum4" style ="color: #606060" > 4 : < /span > . /configure
< span id ="lnum5" style ="color: #606060" > 5 : < /span > make & & make install
中途有可能会遇到一些依赖的问题,比如缺少icu、ncurses、wxWindows等,前面几个大略都可以从yum时行安装,wxWindows可以不问,如果你之后不准备使用Erlang进行UI编程的话,这些也足够用了。
Erlang安装完成之后,测试一下在bash里erl和erlc能否使用,若能,则这一步就完成了。
接着是安装CouchDB,由于CouchDB里用到了JavaScript,所以其依赖于SpiderMonkey ,需要先安装libmozjs这个库,步骤为:
< span id ="lnum1" style ="color: #606060" > 1 : < /span > wget ftp : < span style ="color: #008000" > //ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz</span>
< span id ="lnum2" style ="color: #606060" > 2 : < /span > tar –xzvf js -1.8.0 -rc1 . tar . gz
< span id ="lnum3" style ="color: #606060" > 3 : < /span > cd js /src
< span id ="lnum4" style ="color: #606060" > 4 : < /span > make BUILD_OPT =1 –f Makefile . ref
编译应该不会出什么问题,如果你的机器没有配置编译环境,你可以参考这篇 文章进行配置。
可以当我执行make –f Makefile.ref install的时候傻了,没有这个target,好吧,我们自己写脚本安装这个库。代码如下:
< span id ="lnum1" style ="color: #606060" > 1 : < /span > < span style ="color: #008000" > #!/bin/bash</span>
< span id ="lnum2" style ="color: #606060" > 2 : < /span > mkdir -p /usr /< span style ="color: #0000ff" > include < /span > /mozjs / -v
< span id ="lnum3" style ="color: #606060" > 3 : < /span > cp * . { h , tbl }
< span id ="lnum4" style ="color: #606060" > 4 : < /span > /usr /< span style ="color: #0000ff" > include < /span > /mozjs / -v
< span id ="lnum5" style ="color: #606060" > 5 : < /span > cd Linux_All_OPT . OBJ
< span id ="lnum6" style ="color: #606060" > 6 : < /span > cp * . h /usr /< span style ="color: #0000ff" > include < /span > /mozjs / -v
< span id ="lnum7" style ="color: #606060" > 7 : < /span > mkdir -p /usr /local /{ bin , lib } / -v
< span id ="lnum8" style ="color: #606060" > 8 : < /span > cp js /usr /local /bin / -v
< span id ="lnum9" style ="color: #606060" > 9 : < /span > cp libjs . so /usr /local /lib / -v
把上面的代码保存成install.sh,并放在src文件夹下,执行一遍即可。
终于可以编译CouchDB了,脚本如下:
< span id ="lnum1" style ="color: #606060" > 1 : < /span >
< span id ="lnum2" style ="color: #606060" > 2 : < /span > wget http : < span style ="color: #008000" > //labs.xiaonei.com/apache-mirror/couchdb/0.10.0/apache-couchdb-0.10.0.tar.gz</span>
< span id ="lnum3" style ="color: #606060" > 3 : < /span > tar –xzvf apache -couchdb -0.10.0.tar.gz
< span id ="lnum4" style ="color: #606060" > 4 : < /span > cd apache -couchdb -0.10.0
< span id ="lnum5" style ="color: #606060" > 5 : < /span > . /configure
< span id ="lnum6" style ="color: #606060" > 6 : < /span > make & & make install
这次编译应该不会出什么问题,如果出了,也应该是比较好解决的,我们假设你看这篇文章的时候,有这个能力来解决那些小问题。
然后这个时候就安装成功了。接着是配置CouchDB,官方建议不要用root帐户来运行,所以,我们新建一个账户跟组来运行。脚本如下:
< span id ="lnum1" style ="color: #606060" > 1 : < /span > groupadd couchdb
< span id ="lnum2" style ="color: #606060" > 2 : < /span > useradd couchdb –g couchdb –d /usr /local /< span style ="color: #0000ff" > var < /span > /lib /couchdb
< span id ="lnum3" style ="color: #606060" > 3 : < /span > su – couchdb –c “/user /local /bin /couchdb -b ”
最后一行是用来启动couchdb的后台进程,如果要停止,把参数从-b改成-d即可。
新版本的配置文件好像是/user/local/etc/couchdb/local.ini,各取所需,自己修改吧。
近期评论