1.4. Installation on FreeBSD

1.4.1. Installation from ports

cd /usr/ports/databases/couchdb
make install clean

This will install CouchDB from the ports collection.

Note

Be sure to create an admin user before starting CouchDB for the first time!

1.4.1.1. Start script

The following options for /etc/rc.conf or /etc/rc.conf.local are supported by the start script (defaults shown):

couchdb_enable="NO"
couchdb_enablelogs="YES"
couchdb_user="couchdb"

After enabling the couchdb rc service use the following command to start CouchDB:

/usr/local/etc/rc.d/couchdb start

This script responds to the arguments start, stop, status, rcvar etc..

The start script will also use settings from the following config files:

  • /usr/local/etc/couchdb/default.ini
  • /usr/local/etc/couchdb/local.ini

Administrators should use default.ini as reference and only modify the local.ini file.

1.4.1.2. Post install

Your installation is not complete. Be sure to complete the Setup steps for a single node or clustered installation.

In case the install script fails to install a non-interactive user “couchdb” to be used for the database, the user needs to be created manually:

I used the pw command to add a user “couchdb” in group “couchdb”:

pw user add couchdb
pw user mod couchdb -c 'CouchDB, time to relax' -s /usr/sbin/nologin -d /var/lib/couchdb
pw group add couchdb

The user is added to /etc/passwd and should look similar to the following:

shell#  grep couchdb /etc/passwd
couchdb:*:1013:1013:Couchdb, time to relax:/var/lib/couchdb/:/usr/sbin/nologin

To change any of these settings, please refrain from editing /etc/passwd and instead use pw user mod ... or vipw. Make sure that the user has no shell, but instead uses /usr/sbin/nologin. The ‘*’ in the second field means that this user can not login via password authorization. For details use man 5 passwd.