You need to be added to the ContributorsGroup to edit the wiki. But don't worry! Just email any Mailing List or grab us on IRC and let us know your user name.

Installing on RHEL 5

These instructions also work on Red Hat Enterprise Linux compatible distributions like CentOS.

Note: COUCHDB-315 has an attached patch for the CouchDB README which adds instructions for RHEL 5.

Installing a prepackaged CouchDB

1. Enable the EPEL repository.

2. Install the couchdb package from EPEL:

# yum install couchdb

3. Edit config file to suit:

# vi /etc/couchdb/local.ini

4. Start CouchDB:

# service couchdb start

5. Set it to start automatically on reboots:

# chkconfig --level 345 couchdb on

Building CouchDB from source (with EPEL packages)

1. Install prerequisites. You will need to enable the EPEL repository for the js-devel and erlang packages (or build js and erlang from source).

# yum install libicu-devel openssl-devel curl-devel make gcc erlang js-devel libtool which

1.1 If installing CouchDB >= 0.11, you will need cURL>= 7.18. Currently neither EPEL, nor IUS provide a current enough libcurl. Visit the curl download page for the most recent curl package.

$ wget http://curl.haxx.se/download/curl-7.20.1.tar.gz
$ tar -xzf curl-7.20.1.tar.gz
$ cd curl-7.20.1
$ ./configure --prefix=/usr/local
$ make
$ make test
# make install

2. Install CouchDB

The configure line below is for 64-bit, adjust for your arch (or leave out --with-erlang if configure can find out for itself). You can use a release tarball instead of a checkout, in that case skip right to the ./confgure line.

$ svn checkout http://svn.apache.org/repos/asf/couchdb/trunk couchdb
$ cd couchdb
$ ./bootstrap
$ ./configure --with-erlang=/usr/lib64/erlang/usr/include
$ make
# make install

3. Edit config file to suit

# vi /usr/local/etc/couchdb/local.ini

4. Create user, modify ownership and permissions

Create the couchdb user:

# adduser -r --home /usr/local/var/lib/couchdb -M --shell /bin/bash --comment "CouchDB Administrator" couchdb

See the README for additional chown and chmod commands to run.

4.1 fix permission

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

5. Launch!

# sudo -u couchdb couchdb

Or as daemon:

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

6. Run as daemon on start-up:

# ln -s /usr/local/etc/rc.d/couchdb /etc/init.d/couchdb
# chkconfig --add couchdb
# chkconfig --level 345 couchdb on

Building CouchDB from source (with standard packages only)

Tested with 64-bit CentOS 5.6. Replace "/opt/couchdb" with a directory of your choice.

1. Install prerequisites (standard packages only, no additional repositories).

# yum install gcc libtool xulrunner-devel libicu-devel openssl-devel

2. Build Erlang from otp_src_R14B.tar.gz:

$ ./configure --prefix=/opt/couchdb/erlang --without-termcap --without-javac --enable-smp-support --disable-hipe
$ make
# make install

3. Build Curl from curl-7.21.6.tar.gz:

$ ./configure --prefix=/opt/couchdb/curl
$ make
# make install

4. Build CouchDB from apache-couchdb-1.0.2.tar.gz

$ ERL=/opt/couchdb/erlang/bin/erl ERLC=/opt/couchdb/erlang/bin/erlc CURL_CONFIG=/opt/couchdb/curl/bin/curl-config LDFLAGS=-L/opt/couchdb/curl/lib ./configure --prefix=/opt/couchdb/couchdb --with-erlang=/opt/couchdb/erlang/lib/erlang/usr/include/ --with-js-include=/usr/include/xulrunner-sdk-1.9.2/ --with-js-lib=/usr/lib64/xulrunner-sdk-1.9.2/lib
$ make
# make install

Installing_on_RHEL5 (last edited 2011-11-23 14:32:42 by JanLehnardt)