Update: I got it working now. Jim Zajkowski's answer helped me detect that my /etc/init.d/couchdb reboot calls weren't actually rebooting the instance. After I manually killed the CouchDB processes and started a new instance, it picked up the required BindAddress change.
I have installed CouchDB via
aptitude install couchdb
From my server, I can connect via
telnet localhost 5984
and execute RESTful commands. When I try to access the server from another machine on our network or from a machine external of our network, I get a The connection was reset error. I've set up port forwarding on the router, and the server is otherwise accessible via Apache, Tomcat, SSH, etc.
I'm new to Linux/Ubuntu, so I wasn't sure if there was a default firewall blocking the connection, so I ran:
iptables -A INPUT -p tcp --dport 5984 -j ACCEPT
but it didn't help.
Here is the dump from running iptables -L -n -v
Chain INPUT (policy ACCEPT 2121K packets, 1319M bytes) pkts bytes target prot opt in out source destination 70 3864 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5984 9 1647 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 1708K packets, 1136M bytes) pkts bytes target prot opt in out source destination
I assume the bytes showing as transfered for 5984 are due to my localhost connection.
Here is the dump from running netstat -an | grep 5984
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN
I configured couch.ini to have "BindAddress=0.0.0.0" and rebooted, so it should be listening on all interfaces. When I run "sudo /etc/init.d/couchdb stop" then run netstat, however, I still see the above entry. It looks like CouchDB isn't actually stopping at all. This may explain my problem, because it means it may mean that CouchDB never actually rebooted and never picked up the BindAddress change.
I manually killed the CouchDB process and started it up again. Now netstat shows:
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:5984 127.0.0.1:35366 TIME_WAIT
I still can't connect though, even from another machine on the LAN.