Rambling, thoughts and profundities on the subject of security and privacy in Web 2.0 and in particular Virtual Universes technologies. Occasionally I might diverge at bit.

2009/11/11

Installing CouchDB on a CentOS5 system


I'm migrating my new Twarfing code from home to a new server at work which involves installing CouchDB. Now, CentOS has no aspirations to be cutting-edge, so it doesn't have CouchDB in it's repository. You need to jump through some hoops to get it installed. There were good instructions on Port:EightyEight, but these turned out to be a bit out of date. This is what worked for me:

First you need the EPEL repository. I was using a 64bit system, so I did:


sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm


But you might need the i386 version. If all goes well, you should see something like:

Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]


Next I needed the basic prerequisites for CouchDB:


yum install ncurses-devel openssl-devel icu libicu-devel js js-devel curl-devel erlang libtool


Now, this is a bit different than Port:EightyEight described it: the erlang-devel package was not available anymore via EPEL, but this turned out not to be a problem. However, CentOS did ask me to reboot at this point for whatever reason.

After the reboot, it turned out that all I needed was:


sudo yum install couchdb


and CouchDB installed without needing the erlang-lang package. Also, it wasn't necessary to install from source either. The version of CouchDB I got was 0.10.0-1.el5 which is current as of writing if you really want to know.

The local.ini file will be in a different directory if installed this way:


/etc/couchdb/local.ini


I left that the way it was for now. Let's see if something else needs to be done. The Installing_on_RHEL5 wiki page seems to be the most relevant page to a CentOS installation. In it a user is created, but yum did this already and it looks just about right:


couchdb:x:101:104:Couchdb Database Server:/var/lib/couchdb:/bin/bash


And starting it certainly worked with:


sudo -i -u couchdb couchdb -b


And


sudo /etc/init.d/couchdb start


also worked. Connecting to the web interface worked once the cluster firewall was tunneled through.

Now for testing!

No comments: