我必须在运行12.04的家用Ubuntu Linux机器上执行的最近一项任务。 LTS是要安装CouchDB的 。 我需要它是因为我想使用ACRA作为Android Apps的远程错误报告工具。 Acra是完全开源的( 托管在GitHub上 ),也是由Kevin Gaudin启动的令人难以置信的很棒的工具。
我曾经使用Iris Couch进行尝试,但事实证明,使用免费帐户的Iris Couch速度缓慢。 因此,我决定在家中托管自己的CouchDB。
Ubuntu存储库未托管Couch DB的最新版本。 我使用apt-get进行了尝试,并获得了CouchDB 1.0.1版。 这不是一个可行的选择,因为我想使用CouchDB的复制功能,该功能仅在1.2以上的版本中可用。
我在Apache CouchDB Wiki中找到了很好的逐步指南 。
把它们加起来:
我通过使用以下步骤从源代码进行编译来安装它。
- 下载CouchDB 1.5源
- 创建一个用户和一个名为“ couchdb”的组。 这个非常重要。 不要用“ root”用户编译和安装它。 如果您使用root用户执行操作,则CouchDB将不会启动,也不会向任何日志文件写入任何错误消息,因为CouchDB将在用户“ couchdb”下启动,但所有已安装的文件和文件夹均不允许除“”以外的任何其他用户进行读写访问。根'。 如果已使用用户“ root”编译并安装了该文件,则必须自己调整各种文件和文件夹的权限和所有者权限。 我必须承认,我是第一次使用“ root”用户执行此操作,并且花了两个小时才能找到原因并纠正所有问题。 所以要当心!
- 至少安装以下软件包。
sudo apt-get install -y g++ sudo apt-get install -y erlang-dev erlang-manpages erlang-base-hipe erlang-eunit erlang-nox erlang-xmerl erlang-inets sudo apt-get install -y libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool
- 使用默认安装目录/ usr / local提取并编译CouchDB。 您可以在调用configure时通过使用其他前缀来更改它。 检查手册。
cd /tmp && tar xvzf apache-couchdb-1.5.0.tar.gz cd apache-couchdb-* ./configure && make
- 安装CouchDB。 CouchDB安装到/ usr / local
sudo make install
- 有时有必要从ubuntu软件包中删除旧内容。 就我而言,这不是必需的。 但是您可以执行以下操作:
sudo rm /etc/logrotate.d/couchdb /etc/init.d/couchdb
- 安装初始化脚本并logrotate
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
- 验证CouchDB是否正在运行
curl http://127.0.0.1:5984/
它应该给你这样的输出:
{"couchdb":"Welcome","uuid":"5a23983ac768251e1c8d413bb52e67b5","version":"1.5.0","vendor":{"version":"1.5.0","name":"The Apache Software Foundation"}}
- 使用此设置,CouchDB仅侦听localhost(127.0.0.1)。 如果希望CouchDB在所有接口上侦听并从外部访问它,则必须在/usr/local/etc/couchdb/local.ini中对其进行配置
只需查找[httpd]部分,然后取消注释以'bind_address'开头的行,然后将127.0.0.1替换为0.0.0.0[httpd] ;port = 5984 bind_address = 0.0.0.0
- 现在重新启动CouchDB,您就完成了。
/etc/init.d/couchdb restart
您还可以安装由源代码构建的CouchDB版本以及默认的Ubuntu软件包。 查看上面提到的逐步指南,以了解如何实现这一目标。
翻译自: https://www.javacodegeeks.com/2014/02/how-to-install-couch-db-1-5-on-ubuntu.html