Install Apache CouchDB on Ubuntu 16.04 / 17.10 / 18.04

Apache CouchDB, a powerful open source NoSQL database server can be installed on Ubuntu 16.04 / 17.10 and 18.04 easily… and this tutorial is going to show students and new users how to do that…

For those who don’t know Apache CouchDB, here’s a brief overview…

Apache CouchDB is a general purpose NoSQL database server that works just like any other database behind an application server of your choice….. you can add custom functions using different programming languages such as Erlang, C/C++, Java, etc… It uses JSON natively and supports binary for all your data storage needs…

It is used by major corporations and businesses looking for high performance NoSQL database systems… Most people will tell you a thing or two about MySQL and MariaDB… however, for professionals, Apache CouchDB is a stable choice…

To learn how to install Apache CouchDB Ubuntu, follow the steps below

Step 1: Add Apache CouchDB Repository to Ubuntu

Adding Apache CouchDB repository to Ubuntu is easy… all you have to run is run the commands below to add the repository key… the key is there to authenticate and validate pacakges from the repository….

Run the commands below to add the repository key and the repository…

sudo apt install curl
curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc \ | sudo apt-key add -
echo "deb https://apache.bintray.com/couchdb-deb xenial main" \ | sudo tee -a /etc/apt/sources.list.d/apache_couchdb_xenial.list
echo "deb https://apache.bintray.com/couchdb-deb bionic main" \ | sudo tee -a /etc/apt/sources.list.d/apache_couchdb_bionic.list

When you’re done… continue below…

Step 2: Update and Install Apache CouchDB

Now that the repository and key are added, run the commands below to update and install the latest Apache CouchDB packages..

To install Apache CouchDB, run the commands below

sudo apt update
sudo apt-get install apache2 couchdb

During hte installation, you should see messages to select some optino….

 ┌──────────────────────────┤ Configuring couchdb ├──────────────────────────┐
 │                                                                           │ 
 │ Please select the CouchDB server configuration type that best meets your    
 │ needs.                                                                      
 │                                                                             
 │ For single-server configurations, select standalone mode. This will set     
 │ up CouchDB to run as a single server.                                       
 │                                                                             
 │ For clustered configuration, select clustered mode. This will prompt for    
 │ additional parameters required to configure CouchDB in a clustered          
 │ configuration.                                                              
 │                                                                             
 │ If you prefer to configure CouchDB yourself, select none. You will then     
 │ need to edit /opt/couchdb/etc/vm.args and /opt/couchdb/etc/local.d/*.ini    
 │ yourself. Be aware that this will bypass *all* configuration steps,         
 │ including setup of a CouchDB admin user - leaving CouchDB in "admin         
 │                                                                             
 │                                <Ok>                                         
 │                                                                           │ 
 └───────────────────────────────────────────────────────────────────────────┘                                                                              

Next, select standalone option and continue..

                  ┌─────────┤ Configuring couchdb ├─────────┐
                  │ General type of CouchDB configuration:  │ 
                  │                                         │ 
                  │               standalone                │ 
                  │               clustered                 │ 
                  │               none                      │ 
                  │                                         │ 
                  │                                         │ 
                  │                 <Ok>                    │ 
                  │                                         │ 
                  └─────────────────────────────────────────┘                                                               

Next, type in the interface IP address and continue..

  ┌─────────────────────────┤ Configuring couchdb ├──────────────────────────┐
  │ A CouchDB node must bind to a specific network interface. This is done   │ 
  │ via IP address. Only a single address is supported at this time.         │ 
  │                                                                          │ 
  │ The special value '0.0.0.0' binds CouchDB to all network interfaces.     │ 
  │                                                                          │ 
  │ The default is 127.0.0.1 (loopback) for standalone nodes, and 0.0.0.0    │ 
  │ (all interfaces) for clustered nodes. In clustered mode, it is not       │ 
  │ allowed to bind to 127.0.0.1.                                            │ 
  │                                                                          │ 
  │ CouchDB interface bind address:                                          │ 
  │                                                                          │ 
  │ 127.0.0.1_______________________________________________________________ │ 
  │                                                                          │ 
  │                           <Ok>                                           │ 
  │                                                                          │ 
  └──────────────────────────────────────────────────────────────────────────┘                                                                                

After that, type and confirm the admin password and complete the installation…  After isntalling Apache CouchDB, the commands below can be used to stop, start, enable and check its status

sudo systemctl stop couchdb.service
sudo systemctl start couchdb.service
sudo systemctl enable couchdb.service
sudo systemctl status couchdb.service

This is what the status command shows

Executing /lib/systemd/systemd-sysv-install enable couchdb
richard@ubuntu1604:~$ sudo systemctl status couchdb.service
● couchdb.service - Apache CouchDB
   Loaded: loaded (/lib/systemd/system/couchdb.service; enabled; vendor preset: 
   Active: active (running) since Wed 2018-06-20 15:34:51 CDT; 14s ago
 Main PID: 3788 (beam)
   CGroup: /system.slice/couchdb.service
           ├─3788 /opt/couchdb/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -ro
           ├─3800 /opt/couchdb/bin/../erts-7.3/bin/epmd -daemon
           ├─3818 sh -s disksup
           ├─3820 /opt/couchdb/bin/../lib/os_mon-2.4/priv/bin/memsup
           └─3821 /opt/couchdb/bin/../lib/os_mon-2.4/priv/bin/cpu_sup

Jun 20 15:34:51 ubuntu1604 systemd[1]: Started Apache CouchDB.
lines 1-12/12 (END)

Step 3: Accessing Apache CouchDB

After installing CouchDB, you can now open your browser and browse to the server hostname or IP addresss followed by port # 5984

http://127.0.0.1:5984/_utils/

Type in the admin username and password…

Enjoy!

CouchDB Ubuntu install

You may also like the post below:

Manage PostgreSQL with phpPgAdmin on Ubuntu 16.04 / 17.10 / 18.04