无法在couchdb中创建server-admin

时间:2016-05-23 22:08:29

标签: couchdb

我按照couchdb安全文档(http://docs.couchdb.org/en/1.6.1/intro/security.html)尝试使用cURL创建服务器管理员:curl -X PUT $ HOST / _config / admins / anna -d'& #34;秘密"'

当我这样做时,我收到一个错误: {"错误":" not_found","原因":"数据库不存在。"}

我在v2.0上,所以我不知道自1.6版文档以来是否有变化。我可以使用fauxton创建服务器管理员。有什么想法吗?

3 个答案:

答案 0 :(得分:17)

对于遇到此问题的其他人来说,这是一个简单的答案:在couchdb 2.0中,一些API转移到使用端口5986 ......我一直在使用端口5984(在v2中仍然使用了很多端口) .0,但显然不适用于_config端点。)

以下作品:

curl -X PUT http://localhost:5986/_config/admins/admin1 -d '"password"'

答案 1 :(得分:5)

添加用户的Couchdb2方式是

curl -X PUT http://localhost:5984/_node/nodename/_config/admins/admin1 -d '"password"'

答案 2 :(得分:1)

在GUI中,您可以发现需要设置单个节点群集,并在执行此操作时指定管理员用户名和密码。

您可以使用可以POST到的API端点执行相同的操作:
http://docs.couchdb.org/en/2.1.0/api/server/common.html#post--_cluster_setup

2.0使用enable_single_node返回{"error":"bad_request","reason":"Invalid Action'"},所以我又回复了:

j=$(cat <<EOF
{
  "action": "enable_cluster",
  "bind_address": "0.0.0.0",
  "username": "admin",
  "password": "$PASS",
  "port": "5984",
  "node_count":"1"
} 
EOF
)

curl  -s -X POST -H "Content-Type: application/json" http://$IP/_cluster_setup -d "$j"
curl  -s -X POST -H "Content-Type: application/json" $URI/_cluster_setup -d '{"action": "finish_cluster"}'