You need to be added to the ContributorsGroup to edit the wiki. But don't worry! Just email any Mailing List, grab us on IRC, or submit a ticket to JIRA if you want to be added.
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