您的位置:首页 > 运维架构 > Linux

在CentOS 5.4上安装CouchDB

2009-12-16 20:47 302 查看
CouchDB一种半结构化面向文档的分布式,高容错的数据库系统,具体的可以参见其网站上的文档,以及这里的一篇技术简介的翻译。CouchDB在Ubuntu下安装非常方便,只需要使用sudo apt-get install couchdb即可,我以为在CentOS中也会比较容易,没想到却遇到了比较多的问题。主要包括:
CentOS的安装源里不包含CouchDB
CouchDB需要Erlang的运行时支持,CentOS的安装源里也没有Erlang
OK,我们一步一步来搞定在CentOS下安装CouchDB。首先需要安装Erlang,却Erlang的官方网站下载源码,然后在本地编译安装:具体的脚本为:
1: wget http://www.erlang.org/download/otp_src_R13B02-1.tar.gz[/code] 
2: tar–xzvf otp_src_R13B02-1.tar.gz


3: cd otp_src_R13B02-1


4: ./configure


5: make && make install


中途有可能会遇到一些依赖的问题,比如缺少icu、ncurses、wxWindows等,前面几个大略都可以从yum时行安装,wxWindows可以不问,如果你之后不准备使用Erlang进行UI编程的话,这些也足够用了。

Erlang安装完成之后,测试一下在bash里erl和erlc能否使用,若能,则这一步就完成了。

接着是安装CouchDB,由于CouchDB里用到了JavaScript,所以其依赖于SpiderMonkey,需要先安装libmozjs这个库,步骤为:

1: wget ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz[/code] 
2: tar–xzvf js-1.8.0-rc1.tar.gz


3: cd js/src


4: make BUILD_OPT=1–f Makefile.ref


编译应该不会出什么问题,如果你的机器没有配置编译环境,你可以参考这篇文章进行配置。

可以当我执行make –f Makefile.ref install的时候傻了,没有这个target,好吧,我们自己写脚本安装这个库。代码如下:

1: #!/bin/bash


2: mkdir -p /usr/include/mozjs/ -v


3: cp *.{h,tbl}


4: /usr/include/mozjs/ -v


5: cd Linux_All_OPT.OBJ


6: cp *.h /usr/include/mozjs/ -v


7: mkdir -p /usr/local/{bin,lib}/ -v


8: cp js /usr/local/bin/ -v


9: cp libjs.so /usr/local/lib/ -v


把上面的代码保存成install.sh,并放在src文件夹下,执行一遍即可。

终于可以编译CouchDB了,脚本如下:

1: 


2: wget http://labs.xiaonei.com/apache-mirror/couchdb/0.10.0/apache-couchdb-0.10.0.tar.gz[/code] 
3: tar–xzvf apache-couchdb-0.10.0.tar.gz


4: cd apache-couchdb-0.10.0


5: ./configure


6: make && make install


这次编译应该不会出什么问题,如果出了,也应该是比较好解决的,我们假设你看这篇文章的时候,有这个能力来解决那些小问题。

然后这个时候就安装成功了。接着是配置CouchDB,官方建议不要用root帐户来运行,所以,我们新建一个账户跟组来运行。脚本如下:

1: groupadd couchdb


2: useradd couchdb–g couchdb–d /usr/local/var/lib/couchdb


3: su– couchdb–c “/user/local/bin/couchdb -b”


最后一行是用来启动couchdb的后台进程,如果要停止,把参数从-b改成-d即可。

新版本的配置文件好像是/user/local/etc/couchdb/local.ini,各取所需,自己修改吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: