These instructions are for couchdb-0.10.0, and are based on these instructions. First thing to do is configure yum to use RPMforge, so that we can download some of the dependencies (mainly spidermonkey).

1. sudo yum install yum-plugin-priorities
2. wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm
3. sudo rpm -i rpmforge-release-0.3.6-1.el4.rf.i386.rpm
4. sudo yum check-update
5. sudo yum install icu libicu-devel js js-devel

Next you need to build erlang from source:

1. wget http://www.erlang.org/download/otp_src_R13B03.tar.gz
2. tar xzf otp_src_R13B03.tar.gz
3. cd otp_src_R13B03
4. ./configure
5. make
6. sudo make install

And now you need a version of curl later than 7.15.5:

1. wget http://curl.haxx.se/download/curl-7.19.7.tar.gz
2. tar xzf curl-7.19.7.tar.gz
3. cd curl-7.19.7
4. ./configure
5. make
6. sudo make install

Ok, now you’re ready for Couch. Download the source, you can’t use wget because of apache’s redirect mirror thingummy.

1. tar xzf apache-couch-0.10.0.tar.gz
2. cd apache-couch-0.10.0
3. ./configure
4. make
5. make install

This installs couch to /usr/local/bin. Just run “sudo couchdb” and see if it works.

NOTE: if you have problems getting any of the “./configure” stages to work with funny looking python errors, then follow the python upgrade part of these instructions.

Advertisements

CentOS 4.8 comes with python 2.3 installed. The node.js configure script will not work with this version of python. You’ll need to install python from source:

1. wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
2. tar xzf Python-2.5.2.tgz
3. cd Python-2.5.2
4. ./configure
5. make
6. sudo make install

This will install python-2.5.2 to /usr/local/bin/python.

Then you need to install node:

1. wget http://s3.amazonaws.com/four.livejournal/20091128/node-v0.1.20.tar.gz
2. tar xzf node-v0.1.20.tar.gz
3. cd node-v0.1.20
4. ./configure
5. make
6. sudo make install

Note that the url to the node.js tarball may change. Go to node.js to download the latest. This will install node to /usr/local/bin as well.