Well this was more effort than it should have been. I have been dabbling with Erlang for
a while, and after struggling with MySQL, Tomcat and JDBC I was looking for an alternative web-app stack. CouchDB looks to be perfect, although sufficiently new that there is not a lot of documentation, both of the books available right now are OK, but not brilliant. In general I prefer the style of CouchDB: The Definitive Guide- $ apt-get update
- $ apt-get clean
- $ apt-get upgrade
We are going to be building some software so the following tools are useful:
- $ sudo apt-get install build-essential subversion git-core openssh-server
Install Erlang
- $ sudo apt-get build-dep erlang
- $ sudo apt-get install sun-java6-jdk
- $ wget http://www.erlang.org/download/otp_src_R14A.tar.gz
- $ tar zxvf otp_src_R14A.tar.gz
- $ cd otp_src_R14A
- $ ./configure
- $ make && sudo make install
Install CouchDB
- $ sudo apt-get build-dep couchdb
- $ sudo apt-get install xulrunner-dev libicu-dev libcurl4-gnutls-dev libtool
- $ wget http://mirrors.ukfast.co.uk/sites/ftp.apache.org/couchdb/1.0.0/apache-couchdb...
- $ tar zxvf apache-couchdb-1.0.0.tar.gz
- $ cd apache-couchdb-1.0.0
- $ ./configure
- $ ./configure --with-js-lib=/usr/lib/xulrunner-devel-1.9.2.3/lib --with-js-include=/usr/lib/xulrunner-devel-1.9.2.3/include
- $ make CouchDB
- $make
- $sudo make install
Final Setup & Running CouchDB
- $ adduser --system --home /usr/local/var/lib/couchdb --no-create-home --shell /bin/bash --group --gecos "CouchDB Administrator" couchdb
- $ sudo chown -R couchdb:couchdb /usr/local/etc/couchdb
- $ sudo chown -R couchdb:couchdb /usr/local/var/lib/couchdb
- $sudo chown -R couchdb:couchdb /usr/local/var/log/couchdb
- $sudo chown -R couchdb:couchdb /usr/local/var/run/couchdb
- $sudo chmod -R 0770 /usr/local/etc/couchdb
- $sudo chmod -R 0770 /usr/local/var/lib/couchdb
- $sudo chmod -R 0770 /usr/local/var/log/couchdb
- $sudo chmod -R 0770 /usr/local/var/run/couchdb
- $ sudo ln -s /usr/local/etc/init.d/couchdb /etc/init.d/couchdb
Put xulrunner-devel on your LD_LIBRARY_PATH
- $ sudo touch /etc/ld.so.conf.d/couchdb.conf
- $ sudo cat > /etc/ld.so.conf.d/couchdb.conf
- /usr/lib/xulrunner-devel-1.9.2.6 (NB. Check the version that you have installed!)
- <CTRL-D>
- $ sudo ldconfig
Running CouchDB Manually
- $ sudo -i -u couchdb couchdb
Running CouchDB As a Daemon
- $ sudo /etc/init.d/couchdb start

