在CentOS 5.4上安装CouchDB
CouchDB一种半结构化面向文档的分布式,高容错的数据库系统,具体的可以参见其网站上的文档,以及这里的一篇技术简介的翻译。CouchDB在Ubuntu下安装非常方便,只需要使用sudo apt-get install couchdb即可,我以为在CentOS中也会比较容易,没想到却遇到了比较多的问题。主要包括:
- CentOS的安装源里不包含CouchDB
- CouchDB需要Erlang的运行时支持,CentOS的安装源里也没有Erlang
OK,我们一步一步来搞定在CentOS下安装CouchDB。首先需要安装Erlang,却Erlang的官方网站下载源码,然后在本地编译安装:具体的脚本为:
1 |
<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> |
1 |
<span id="lnum2" style="color: #606060"> 2:</span> tar–xzvf otp_src_R13B02-1.tar.gz |
1 |
<span id="lnum3" style="color: #606060"> 3:</span> cd otp_src_R13B02-1 |
1 |
<span id="lnum4" style="color: #606060"> 4:</span> ./configure |
1 |
<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这个库,步骤为:
1 |
<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> |
1 |
<span id="lnum2" style="color: #606060"> 2:</span> tar–xzvf js-1.8.0-rc1.tar.gz |
1 |
<span id="lnum3" style="color: #606060"> 3:</span> cd js/src |
1 |
<span id="lnum4" style="color: #606060"> 4:</span> make BUILD_OPT=1–f Makefile.ref |
编译应该不会出什么问题,如果你的机器没有配置编译环境,你可以参考这篇文章进行配置。
可以当我执行make –f Makefile.ref install的时候傻了,没有这个target,好吧,我们自己写脚本安装这个库。代码如下:
1 |
<span id="lnum1" style="color: #606060"> 1:</span> <span style="color: #008000">#!/bin/bash</span> |
1 |
<span id="lnum2" style="color: #606060"> 2:</span> mkdir -p /usr/<span style="color: #0000ff">include</span>/mozjs/ -v |
1 |
<span id="lnum3" style="color: #606060"> 3:</span> cp *.{h,tbl} |
1 |
<span id="lnum4" style="color: #606060"> 4:</span> /usr/<span style="color: #0000ff">include</span>/mozjs/ -v |
1 |
<span id="lnum5" style="color: #606060"> 5:</span> cd Linux_All_OPT.OBJ |
1 |
<span id="lnum6" style="color: #606060"> 6:</span> cp *.h /usr/<span style="color: #0000ff">include</span>/mozjs/ -v |
1 |
<span id="lnum7" style="color: #606060"> 7:</span> mkdir -p /usr/local/{bin,lib}/ -v |
1 |
<span id="lnum8" style="color: #606060"> 8:</span> cp js /usr/local/bin/ -v |
1 |
<span id="lnum9" style="color: #606060"> 9:</span> cp libjs.so /usr/local/lib/ -v |
把上面的代码保存成install.sh,并放在src文件夹下,执行一遍即可。
终于可以编译CouchDB了,脚本如下:
1 |
<span id="lnum1" style="color: #606060"> 1:</span> |
1 |
<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> |
1 |
<span id="lnum3" style="color: #606060"> 3:</span> tar–xzvf apache-couchdb-0.10.0.tar.gz |
1 |
<span id="lnum4" style="color: #606060"> 4:</span> cd apache-couchdb-0.10.0 |
1 |
<span id="lnum5" style="color: #606060"> 5:</span> ./configure |
1 |
<span id="lnum6" style="color: #606060"> 6:</span> make && make install |
这次编译应该不会出什么问题,如果出了,也应该是比较好解决的,我们假设你看这篇文章的时候,有这个能力来解决那些小问题。
然后这个时候就安装成功了。接着是配置CouchDB,官方建议不要用root帐户来运行,所以,我们新建一个账户跟组来运行。脚本如下:
1 |
<span id="lnum1" style="color: #606060"> 1:</span> groupadd couchdb |
1 |
<span id="lnum2" style="color: #606060"> 2:</span> useradd couchdb–g couchdb–d /usr/local/<span style="color: #0000ff">var</span>/lib/couchdb |
1 |
<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,各取所需,自己修改吧。
近期评论