CouchDB

提供: ArchWiki
2017年12月23日 (土) 01:43時点におけるKusakata (トーク | 投稿記録)による版 (同期)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

CouchDB のホームページ より:

Apache CouchDB は JavaScript を使って MapReduce の方式でクエリを書いたりインデックスを作成できるドキュメント指向データベースです。

インストール

couchdb パッケージをインストールしてください。

デフォルトでは、ヘッドレスサーバー向けの GTK を必要としない erlang-nox が依存パッケージになっています。GTK を必要とする標準版の erlang をインストールすることも可能です。

使用方法

couchdb.service デーモンを起動・有効化してください。

サービスが実行できているか確認するには curl -XGET http://127.0.0.1:5984/ を実行します。Ping は動作しません。他のシステムから CouchDB のインスタンスにアクセスするには設定が必要になります (下を参照)。

Futon 管理インターフェイスを使う

Futon 管理インターフェイスは http://localhost:5984/_utils を開くことでアクセスできます。

設定

/etc/couchdb/local.ini のデフォルトポート、バインドアドレス、ログレベルなどの設定を変更してください。

ヒント: ローカルマシン以外の他のコンピュータから CouchDB にアクセスできるようにするには bind_address0.0.0.0 に設定します。

ポート 80 で CouchDB を実行したいときは root でデーモンを実行するか、以下のような iptables ルールを使う必要があります:

$ iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 5984
ノート: /etc/couchdb/default.ini を編集してはいけません。このファイルは couchdb のアップデートで上書きされてしまいます。変更したい値をコピーして /etc/couchdb/local.ini に記述するようにしてください。また、ファイルの変更をした後は couchdb.service を再起動します。

自己署名証明書の作成

自己署名証明書で ssl を使いたいときは以下のようにして証明書を作成できます:

# cd /etc/couchdb
# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt

[daemons] の httpsd をアンコメントして [ssl] セクションのパスを更新してください:

/etc/couchdb/local.ini
[daemons]
httpsd = {couch_httpd, start_link, [https]}

[ssl]
cert_file = /etc/couchdb/server.crt
key_file = /etc/couchdb/server.key

ポート 6984 の https://localhost:6984/_utils/ から SSL で Futon にアクセスすることができます。

管理者ユーザーの作成

サーバーの管理者を設定する前は、全てのクライアントに管理者権限が与えられます。管理者ユーザーを作成するには、Futon インターフェイスの右下にある "Fix this" リンクをクリックしてください。

データベースのロックダウンやセキュリティに関する詳細は 読み取り専用データベースの作成 を見て下さい。

シングルノード構成とセキュリティ

シングルノードで CouchDB を実行する場合、公開ネットワークインターフェイスに不必要にバインドしないことでセキュリティを向上させることができます。バインドを行うプロセスは epmdbeam.smp です。前者は簡単に設定できます。couchdb.service のドロップイン設定として以下のファイルを追加してください:

/etc/systemd/system/couchdb.service.d/10-bind-locally.conf
[Service]
Environment=ERL_EPMD_ADDRESS=127.0.0.1

後者は難しい作業が必要で、まだ解決方法は分かっていません。

参照