我是 couchDB 的新手。最近,我在这里通过快速安装说明深入研究了它:
sudo apt-get update -y
sudo apt-get install g++ -y
sudo apt-get install erlang-base erlang-dev erlang-eunit erlang-nox -y
sudo apt-get install libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool -y
curl -O http://apache.mirrors.tds.net/couchdb/source/1.5.1/apache-couchdb-1.5.1.tar.gz
tar -zxvf apache-couchdb-1.5.1.tar.gz
cd apache-couchdb-1.5.1
./configure
make
sudo make install
sudo adduser --disabled-login --disabled-password --no-create-home couchdb
sudo chown -R couchdb:couchdb /usr/local/var/log/couchdb
sudo chown -R couchdb:couchdb /usr/local/var/lib/couchdb
sudo chown -R couchdb:couchdb /usr/local/var/run/couchdb
sudo ln -s /usr/local/etc/logrotate.d/couchdb /etc/logrotate.d/couchdb
sudo ln -s /usr/local/etc/init.d/couchdb /etc/init.d
sudo update-rc.d couchdb defaults
1. modify /usr/local/etc/couchdb/local.ini
2. change bindAddress to 0.0.0.0
3. reboot
4. remember to go into the config settings and secure server
5. remember to turn on auto compaction
我完全按照指南进行操作,除了第四步和第五步,因为我不知道该怎么做。当我运行时:
couchdb
我在终端中收到以下消息(我使用的是 Ubuntu 14.04 LTS):
Apache CouchDB 1.5.1 (LogLevel=info) is starting.
Error opening log file /usr/local/var/log/couchdb/couch.log: permission denied{"init terminating in do_boot",{{badmatch,{error,{bad_return,{{couch_app,start,[normal,["/usr/local/etc/couchdb/default.ini","/usr/local/etc/couchdb/local.ini"]]},{'EXIT',{{badmatch,{error,{shutdown,{failed_to_start_child,couch_primary_services,{shutdown,{failed_to_start_child,couch_log,{error,"permission denied","/usr/local/var/log/couchdb/couch.log"}}}}}}},[{couch_server_sup,start_server,1,[{file,"couch_server_sup.erl"},{line,98}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,269}]}]}}}}}},[{couch,start,0,[{file,"couch.erl"},{line,18}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}
Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
有人可以帮我解决这个问题并提出一些解决方案吗?非常感谢。
最佳答案
我想在这里记录一下我如何在我的环境中解决这个问题。就我而言,/opt/couchdb/data
文件夹是 /var/lib/couchdb
的符号链接(symbolic link)。无论我尝试什么,我都会在启动时收到权限被拒绝的错误,即使所有文件似乎都由用户 couchdb
拥有。
我最终发现 /var/lib
上没有设置“执行”权限。如果没有此许可,符号链接(symbolic link)将无法工作。如果您遇到此问题,请像我一样首先设置 chmod -R a+x/var
,以防止发生这种情况。
关于CouchDB:无法正常启动CouchDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27539397/