Apache CouchDBは、Erlangで記述された無料のオープンソースドキュメント指向のNoSQLデータベースシステムです。他のリレーショナルデータベースと比較して、データとリレーションシップをテーブルに保存しません。 JSONを使用してデータを保存するため、データのスケーラブル性とモデル化が容易になります。また、データベースドキュメントの作成、編集、削除を可能にするRESTfulHTTPAPIもサポートしています。
このチュートリアルでは、CentOS8にApacheCouchDBNoSQLデータベースをインストールする方法を説明します。
- CentOS8を実行しているサーバー。
- ルートパスワードがサーバーに設定されています。
ApacheCouchDBをインストールします
デフォルトでは、ApacheCouchDBはCentOS8のデフォルトリポジトリでは使用できません。そのため、システムにApacheCouchDBリポジトリを作成する必要があります。
CouchDBリポジトリはEPELリポジトリに依存しているため、システムにEPELリポジトリをインストールする必要があります。次のコマンドでインストールできます:
dnf install epel-release -y
次に、以下のコマンドを使用してApacheCouchDBリポジトリを作成します。
nano /etc/yum.repos.d/apache-couchdb.repo
次の行を追加します:
[bintray--apache-couchdb-rpm] name=bintray--apache-couchdb-rpm baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/ gpgcheck=0 repo_gpgcheck=0 enabled=1
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してApacheCouchDBをインストールします。
dnf install couchdb -y
インストールが正常に完了すると、次の手順に進むことができます。
CouchDBは、スタンドアロンモードまたはクラスターモードとして構成できます。このチュートリアルでは、CouchDBサーバーをシングルモードで構成します。デフォルトでは、CouchDBはローカルホストでリッスンし、インストール中に管理者アカウントは作成されません。そのため、CouchDBの管理者アカウントを作成する必要があります。 local.iniファイルを編集して作成できます:
nano /opt/couchdb/etc/local.ini
次に示すように、bind-addressを0.0.0.0に設定して、外部IPアドレスからのアクセスを許可し、[admin]セクション内にadminパスワードを設定します。
[chttpd] port = 5984 bind_address = 0.0.0.0 [admins] admin = password
終了したら、ファイルを保存して閉じます。次に、CouchDBサービスを開始し、起動時に開始できるようにします。
systemctl start couchdb
systemctl enable couchdb
これで、次のコマンドを使用してCouchDBサービスのステータスを確認できます。
systemctl status couchdb
次の出力が得られるはずです:
? couchdb.service - Apache CouchDB Loaded: loaded (/usr/lib/systemd/system/couchdb.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2020-04-11 07:40:47 EDT; 35s ago Main PID: 11992 (beam.smp) Tasks: 43 (limit: 26213) Memory: 36.4M CGroup: /system.slice/couchdb.service ??11992 /opt/couchdb/bin/../erts-9.3.3.14/bin/beam.smp -K true -A 16 -Bd -- -root /opt/couchdb/bin/.. -progname couchdb -- -home /o> ??12004 /opt/couchdb/bin/../erts-9.3.3.14/bin/epmd -daemon ??12023 erl_child_setup 1024 ??12045 sh -s disksup ??12047 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/memsup ??12048 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/cpu_sup Apr 11 07:40:47 centos8 systemd[1]: Started Apache CouchDB.
次のコマンドを使用して、CouchDBリスニングポートを確認することもできます。
netstat -pnltu | grep 5984
次の出力が表示されます。
tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 11992/beam.smp
デフォルトでは、SELinuxはシステムで有効になっています。したがって、システムでSELinuxを無効にすることをお勧めします。
/ etc / selinux / configファイルを編集してSELinuxを無効にできます:
nano /etc/selinux/config
次の行を見つけます:
SELINUX=enforcing
そして、それを次の行に置き換えます:
SELINUX=permissive
ファイルを保存して閉じます。次に、システムを再起動して変更を適用します。
次に、firewalldを介してポート5984を許可する必要があります。次のコマンドで許可できます:
firewall-cmd --zone=public --permanent --add-port=5984/tcp
firewall-cmd --reload
終了したら、次のステップに進むことができます。
CouchDBWebUIにアクセスする
この時点で、CouchDBがインストールおよび構成されています。 CouchDBが機能しているかどうかを確認するときが来ました。
curlコマンドを使用してCouchDBを確認できます:
curl http://your-server-ip:5984/
すべてが正常であれば、次の出力が得られるはずです:
{"couchdb":"Welcome","version":"3.0.0","git_sha":"03a77db6c","uuid":"d0406ea8f0b1a3f18020ec90e627ae35","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}
URL http:// your-server-ip:5984 /_utils/を使用してCouchDBWebUIにアクセスすることもできます。 CouchDBログインページにリダイレクトされます:
管理者のユーザー名とパスワードを入力し、ログインをクリックします ボタン。次の画面にCouchDBダッシュボードが表示されます。
CouchDBデータベースの操作
CouchDBでは、curlコマンドを使用してデータベースを作成および削除することもできます。
CouchDBにtestdbという名前のデータベースを作成するには、次のコマンドを実行します。
curl -u admin:password -X PUT http://your-server-ip:5984/testdb
次の出力が表示されます。
{"ok":true}
CouchDBにuserdbという名前のデータベースを作成するには、次のコマンドを実行します。
curl -u admin:password -X PUT http://your-server-ip:5984/userdb
次の出力が得られるはずです:
{"ok":true}
以下に示すように、curlコマンドを使用してデータベースを確認することもできます。
curl -u admin:password -X GET http://your-server-ip:5984/testdb
次の出力が得られるはずです:
{"db_name":"testdb","purge_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","sizes":{"file":16700,"external":0,"active":0},"props":{},"doc_del_count":0,"doc_count":0,"disk_format_version":8,"compact_running":false,"cluster":{"q":2,"n":1,"w":1,"r":1},"instance_start_time":"0"}
CouchDBダッシュボードを更新して、Webブラウザーでデータベースを表示することもできます。
データベースtestdbを削除する場合は、次のコマンドを実行します。
curl -u admin:password -X DELETE http://your-server-ip:5984/testdb
次の出力が得られるはずです:
{"ok":true}
おめでとう! CentOS8にApacheCouchDBが正常にインストールされました。詳細については、ApacheCouchDBのドキュメントをご覧ください。