Knowledgebase

How to Install Apache CouchDB on CentOS 7 Print

  • 0

Introduction

Apache CouchDB is a free open source NoSQL database server that stores databases as documents in JSON format. It includes a RESTful HTTP API that allows you to create, read, edit, and delete documents easily.

This guide will teach you how to install and set up Apache CouchDB on a CentOS 7 server.

Prerequisites

Setup the CouchDB Repository

Install the CentOS EPEL repository.

$ sudo yum install epel-release

Then, set up a new CouchDB repository file:

$ sudo nano /etc/yum.repos.d/apache-couchdb.repo

Paste the following contents in it:

[Apache-Couchdb]
name=couchdb
baseurl=https://apache.jfrog.io/artifactory/couchdb-rpm/el$releasever/$basearch/
gpgkey=https://couchdb.apache.org/repo/keys.asc https://couchdb.apache.org/repo/rpm-package-key.asc
gpgcheck=1
repo_gpgcheck=1
enabled=1

Update the Server.

$ sudo yum install couchdb

Install CouchDB

Now that all necessary repositories are set up, install CouchDB with the following command:

$ sudo yum install couchdb

Enable CouchDB to start at boot time.

$ sudo systemctl enable couchdb

Start CouchDB.

$ sudo systemctl start couchdb

Setup CouchDB

All CouchDB data and configuration files are stored in /opt/couchdb, and local.ini is the main configuration file located in the /etc/ subdirectory. First, set up CouchDB by binding it to a network address, then add a new administrative user.

Open the file /opt/couchdb/etc/local.ini.

$ sudo nano /opt/couchdb/local.ini

Locate the entry bind_address =, and change it to your preferred setting. By default, it is set to 127.0.0.1, the address 0.0.0.0 makes CouchDB accessible from any network address, and global binds it to your public Rcs IP Address.

[chttpd]
;port = 5984
bind_address = 127.0.0.1

To set up a new user, scroll to the bottom or search for the keyword admins. Under the section, add a new entry with the format username = password. To tighten your server security, replace admin with a secretive username of your choice.

[admins]
admin = YOUR-PASSWORD

Additionally, add the following entry to allow CouchDB to create all necessary system databases upon restart.

[couchdb]

single_node=true

Save and close the file.

Alternatively, you can manually create the system databases: _users, _replicator, _global_changes with the following commands:

$ curl -u Username:Password -X PUT http://127.0.0.1:5984/_users
$ curl -u Username:Password -X PUT http://127.0.0.1:5984/_replicator
$ curl -u Username:Password -X PUT http://127.0.0.1:5984/_global_changes

Restart CouchDB for changes to take effect.

$ sudo systemctl restart couchdb

Configure Firewall

First, allow HTTP Traffic on your server.

$ sudo firewall-cmd --permanent --zone=public --add-service=http

If you have an SSL certificate on the server, allow HTTPS Traffic.

$ sudo firewall-cmd --permanent --zone=public --add-service=https 

Then, open port 5984.

$ sudo firewall-cmd --permanent --zone=public --add-port=5984/tcp

Restart firewall for rules to take effect.

$ sudo systemctl reload firewalld

Test Your CouchDB Installation

In your terminal window, test your CouchDB Installation using the following curl command:

$ curl 127.0.0.1:5984

Your Output should be similar to the one below:

{"couchdb":"Welcome","version":"3.2.1","git_sha":"244d428af","uuid":"99b896bf19b5b076970e12574b9b9ff8","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

Visit your Rcs server's public IP address on port 5984 with the /utils endpoint for a GUI version.

http://SERVER-IP:5984/_utils

![CouchDB Login page(https://i.imgur.com/RF9K8D8.png)

Log in with the administrator username and password created earlier to proceed.

Conclusion

You have successfully installed and set up CouchDB on a CentOS 7 server. For more information on using Apache CouchDB, visit the official documentation page.

Introduction Apache CouchDB is a free open source NoSQL database server that stores databases as documents in JSON format. It includes a RESTful HTTP API that allows you to create, read, edit, and delete documents easily. This guide will teach you how to install and set up Apache CouchDB on a CentOS 7 server. Prerequisites Deploy a CentOS 7 Rcs Server. Log in to the server. Update the server. Setup the CouchDB Repository Install the CentOS EPEL repository. $ sudo yum install epel-release Then, set up a new CouchDB repository file: $ sudo nano /etc/yum.repos.d/apache-couchdb.repo Paste the following contents in it: [Apache-Couchdb] name=couchdb baseurl=https://apache.jfrog.io/artifactory/couchdb-rpm/el$releasever/$basearch/ gpgkey=https://couchdb.apache.org/repo/keys.asc https://couchdb.apache.org/repo/rpm-package-key.asc gpgcheck=1 repo_gpgcheck=1 enabled=1 Update the Server. $ sudo yum install couchdb Install CouchDB Now that all necessary repositories are set up, install CouchDB with the following command: $ sudo yum install couchdb Enable CouchDB to start at boot time. $ sudo systemctl enable couchdb Start CouchDB. $ sudo systemctl start couchdb Setup CouchDB All CouchDB data and configuration files are stored in /opt/couchdb, and local.ini is the main configuration file located in the /etc/ subdirectory. First, set up CouchDB by binding it to a network address, then add a new administrative user. Open the file /opt/couchdb/etc/local.ini. $ sudo nano /opt/couchdb/local.ini Locate the entry bind_address =, and change it to your preferred setting. By default, it is set to 127.0.0.1, the address 0.0.0.0 makes CouchDB accessible from any network address, and global binds it to your public Rcs IP Address. [chttpd] ;port = 5984 bind_address = 127.0.0.1 To set up a new user, scroll to the bottom or search for the keyword admins. Under the section, add a new entry with the format username = password. To tighten your server security, replace admin with a secretive username of your choice. [admins] admin = YOUR-PASSWORD Additionally, add the following entry to allow CouchDB to create all necessary system databases upon restart. [couchdb] single_node=true Save and close the file. Alternatively, you can manually create the system databases: _users, _replicator, _global_changes with the following commands: $ curl -u Username:Password -X PUT http://127.0.0.1:5984/_users $ curl -u Username:Password -X PUT http://127.0.0.1:5984/_replicator $ curl -u Username:Password -X PUT http://127.0.0.1:5984/_global_changes Restart CouchDB for changes to take effect. $ sudo systemctl restart couchdb Configure Firewall First, allow HTTP Traffic on your server. $ sudo firewall-cmd --permanent --zone=public --add-service=http If you have an SSL certificate on the server, allow HTTPS Traffic. $ sudo firewall-cmd --permanent --zone=public --add-service=https Then, open port 5984. $ sudo firewall-cmd --permanent --zone=public --add-port=5984/tcp Restart firewall for rules to take effect. $ sudo systemctl reload firewalld Test Your CouchDB Installation In your terminal window, test your CouchDB Installation using the following curl command: $ curl 127.0.0.1:5984 Your Output should be similar to the one below: {"couchdb":"Welcome","version":"3.2.1","git_sha":"244d428af","uuid":"99b896bf19b5b076970e12574b9b9ff8","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}} Visit your Rcs server's public IP address on port 5984 with the /utils endpoint for a GUI version. http://SERVER-IP:5984/_utils ![CouchDB Login page(https://i.imgur.com/RF9K8D8.png) Log in with the administrator username and password created earlier to proceed. Conclusion You have successfully installed and set up CouchDB on a CentOS 7 server. For more information on using Apache CouchDB, visit the official documentation page.

Was this answer helpful?
Back

Powered by WHMCompleteSolution