I've installed CouchDB 2.0.0 from source using:
./configure
make release
sudo mv rel/couchdb /var/lib/couchdb
sudo chown -R couchdb:couchdb /var/lib/couchdb
sudo -u couchdb /var/lib/couchdb/bin/couchdb

The problem I'm seeing is that, by default, [chttpd] is being assigned port
5984 (in the default.ini) and [httpd] is assigned 5986.

Throughout the online docs port 5984 is referenced for the majority of
endpoints, such as fauxton.
    Used for pretty much everything, such as couchapps (fauxton is the new
futon) and db access.

http://docs.couchdb.org/en/2.0.0/intro/tour.html?highlight=5984#welcome-to-fauxton
And port 5986 is the "back-door" port.
    http://docs.couchdb.org/en/2.0.0/cluster/databases.html?highlight=5986
    http://docs.couchdb.org/en/2.0.0/whatsnew/2.0.html?highlight=5986

So we end up with the following behavior:
md-007:~ $ curl -k -X GET http://127.0.0.1:5984/_all_dbs
[]
md-007:~ $ curl -k -X GET http://127.0.0.1:5986/_all_dbs
["_dbs","_nodes","_replicator","_users","md_rules","monitor"]
md-007:~ $ curl -k -X GET https://127.0.0.1:6984/_all_dbs
["_dbs","_nodes","_replicator","_users","md_rules","monitor"]

It seems that chttpd doesn't have the usual default access to everything
that it used to in couchdb 1.6. Indeed, if you use fauxton over port 5984
as the docs say to, it _doesn't_ show you any db's, because it clearly
(from the above curl examples) can't see any. And the emulator complains
because it's using 5984 to try and find _users.

[error] 2016-10-12T18:42:53.106630Z couchdb@localhost emulator --------
Error in process <0.4185.0> on node couchdb@localhost with exit value:
{database_does_not_exist,[{mem3_shards,load_shards_from_db,"_users",[{file,"src/mem3_shards.erl"},{line,327}]},{mem3_shards,load_shards_from_disk,1,[{file,"src/mem3_shards.erl"},{line,315}]},{mem3_shards,load_shards_from_disk,2,[{file,"src/mem3_shards.erl"},{line,331}]},{mem3_shards,for_docid,3,[{file,"src/mem3_shards.erl"},{line,87}]},{fabric_doc_open,go,3,[{file,"src/fabric_doc_open.erl"},{line,38}]},{chttpd_auth_cache,ensure_auth_ddoc_exists,2,[{file,"src/chttpd_auth_cache.erl"},{line,187}]},{chttpd_auth_cache,listen_for_changes,1,[{file,"src/chttpd_auth_cache.erl"},{line,134}]}]}

What's the correct configuration here? What ports should chttpd and httpd
be set to so that the emulator process isn't erroring?

Reply via email to