www.2527.com_澳门新葡8455手机版_新京葡娱乐场网址_
做最好的网站

Fedora 16下安装CouchDB 1.2.0

2019-07-19 08:50 来源:未知

OS:Fedora 16

为了测试这个安装,把很老的T43安装上了Fedora 11。开始要安装的包很多,gcc、g 是一定必备的了。
最先安装erlang:

CouchDB现在很是火热,已经获得了IBM的资助,成为Apache下的一个子项目, CouchDB是用Erlang开发,安装平台采用的是Ubuntu, 但应该也可以在其他Linux平台上使用

  1. 安装Erlang:

yum install erlang
这个过程中会升级tcl等几个包。然后开始安装js和icu相关的包:

先下载CouchDB安装文件,源去CouchDB的官网下吧,版本为0.9.1

 

yum install icu libicu-devel js js-devel libcurl-devel
如果不安装这几个包在configuration的过程中会报错:

sudo yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf

$ wget http://erlang.org/download/otp_src_R15B01.tar.gz
$ tar zxvf otp_src_R15B01.tar.gz
$ cd otp_src_R15B01
$ ./configure && make && sudo make install

configure: error: Could not find the js library.
安装完成后,下载最新0.9.1的安装包,然后解压到目录里面执行configure。

可能由于CouchDB是一个新的项目,Debian的仓库中还未收录,因此通过apt是无法找到的,所以这里就采用源码包的形式编译安装,是CouchDB的依赖包

 

wget
tar -xzvf apache-couchdb-0.9.1.tar.gz
cd apache-couchdb-0.9.1
./configure  --with-erlang=/usr/lib/erlang/usr/include/
make
su
make install
注意的是如果是64位的操作系统,–with-erlang的参数地址应该是/usr/lib64/erlang/usr/include/。
然后需要创建couchdb用户和组,并且把couchdb的lib和log目录的所有者设为couchdb。

sudo apt-get build-dep couchdb

  1. 安装依赖:

adduser -r -d /usr/local/var/lib/couchdb couchdb
chown -R couchdb /usr/local/var/lib/couchdb
chown -R couchdb /usr/local/var/log/couchdb
然后启动couchdb:

sudo apt-get install libmozjs-dev libicu-dev libcurl4-gnutls-dev libtool

 

sudo /usr/local/etc/rc.d/couchdb start
最后,可以访问本地的管理界面(

上面需要说明下的是在CouchDB的README中说是要安装libicu38, 但shitou在安装时报错说米有找到,后来apt-file search libicu后才发现不是libicu38,反倒有libicu36的包,装吧

yum install icu libicu-devel js js-devel libcurl-devel

*CouchDB 的详细介绍:请点这里
**CouchDB 的下载地址*:请点这里

2.解压缩

 

图片 1

tar -zxvf apache-couchdb-0.9.1.tar.gz

  1. 下载/编译/安装:

3.开始安装

wget apache.etoak.com/couchdb/releases/1.2.0/apache-couchdb-1.2.0.tar.gz

cd apache-couchdb-0.9.1

tar zxvf apache-couchdb-1.2.0.tar.gz

./configure

cd apache-couchdb-1.2.0

make

./configure 

sudo make install

 make && sudo make install

OK, 安装完毕

  1. 启动CouchDB

官方推荐为了安全的因素不要用root来运行CouchDB, 因此需要单独建立用户

/usr/local/bin/couchdb

4.启动couchdb

或者以守护进程的形式启动:

sudo couchdb

 

5.访问:

sudo adduser -r -d /usr/local/var/lib/couchdb couchdb

sudo chown -R couchdb /usr/local/var/lib/couchdb

sudo chown -R couchdb /usr/local/var/log/couchdb

sudo chown -R couchdb /usr/local/var/run/couchdb

sudo /usr/local/etc/rc.d/couchdb start

-b为后台运行CouchDB服务

参考文档:

-d为关闭couchdb服务

CouchDB 的详细介绍:请点这里
**CouchDB 的下载地址**:请点这里

CouchDB默认的配置文件在/usr/local/couchdb/etc/couchdb/couch.ini中, 端口为5984

更多Fedora相关信息见Fedora 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=5

紧接着赶紧测试下啦,shitou用的是ruby, 连接的库用的是官方网站的代码, couchdb_ruby.rb:

图片 2

require 'net/http'

module Couch

  class Server
    def initialize(host, port, options = nil)
      @host = host;
      @port = port;
      @options = options;
    end

    def delete(uri)
      request(Net::HTTP::Delete.new(uri))
    end

    def get(uri)
      request(Net::HTTP::Get.new(uri))
    end

    def put(uri, json)
      req = Net::HTTP::Put.new(uri)
      req["content-type"] = "application/json"
      req.body = json
      request(req)
    end

    def post(uri, json)
      req = Net::HTTP::Post.new(uri)
      req["content-type"] = "application/json"
      req.body = json
      request(req)
    end

    def request(req)
      res = Net::HTTP.start(@host, @port) {|http|
        http.request(req)
      }
      if (not res.kind_of?(Net::HTTPSuccess))
        handle_error(req, res)
      end
      res
    end

    private

    def handle_error(req, res)
      e = RuntimeError.new("#{res.code}:#{res.message}nMETHOD:"

           "#{req.method}nURI:#{req.path}n#{res.body}")
      raise e
    end
  end
end

启动报错:
$ bin/couchdb
Apache CouchDB 0.9.0a691361-incubating (LogLevel=info) is starting.
{"init terminating in do_boot",{{badmatch,{error,shutdown}},[{couch_server_sup,start_server,1},{erl_eval,do_apply,5},{erl_eval,exprs,5},{init,start_it,1},{init,start_em,1}]}}
Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
查了一下官方wiki:
原来是安装文件夹的权限问题
解决办法:
sudo adduser couchdb
chown -R couchdb:couchdb /usr/local/etc/couchdb
 chown -R couchdb:couchdb /usr/local/var/lib/couchdb
 chown -R couchdb:couchdb /usr/local/var/log/couchdb
 chown -R couchdb:couchdb /usr/local/var/run
 chmod -R 0770 /usr/local/etc/couchdb
 chmod -R 0770 /usr/local/var/lib/couchdb
 chmod -R 0770 /usr/local/var/log/couchdb
 chmod -R 0770 /usr/local/var/run
再此启动,看到欢迎界面,所有的testsuite run success,大功告成!

启动CouchDB后就可以正常使用了,感觉CouchDB用起来还是蛮简单快捷的, 提供几乎现在所有的语言支持,希望CouchDB发展越来越好。

图片 3

TAG标签:
版权声明:本文由澳门新葡8455手机版发布于新京葡娱乐场网址,转载请注明出处:Fedora 16下安装CouchDB 1.2.0