CouchDB
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
のデフォルトポート、バインドアドレス、ログレベルなどの設定を変更してください。
ポート 80 で CouchDB を実行したいときは root でデーモンを実行するか、以下のような iptables ルールを使う必要があります:
$ iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 5984
自己署名証明書の作成
自己署名証明書で 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 を実行する場合、公開ネットワークインターフェイスに不必要にバインドしないことでセキュリティを向上させることができます。バインドを行うプロセスは epmd
と beam.smp
です。前者は簡単に設定できます。couchdb.service
のドロップイン設定として以下のファイルを追加してください:
/etc/systemd/system/couchdb.service.d/10-bind-locally.conf
[Service] Environment=ERL_EPMD_ADDRESS=127.0.0.1
後者は難しい作業が必要で、まだ解決方法は分かっていません。