如何在Ubuntu 16.04上安装CouchDB和Futon

时间:2020-03-05 15:32:24  来源:igfitidea点击:

Apache CouchDB是一个开源数据库管理系统,使用JSON for文档,javascript for mapreduce索引和其API的常规HTTP。
它通常被广泛称为NoSQL数据库系统。
它具有面向文档的NoSQL数据库架构,并以并发导向的语言Erlang实现。
CouchDB不会在表中存储数据和关系,而在文档中独立存储所有数据。
在Apache CouchDB中,文档维护了自己的数据和自包含的模式。
拒绝是CouchDB中内置的基于基于Web的界面,它提供了一个很好的界面,帮助我们创建或者删除数据库并管理单个CouchDB文档。
在本文中,我们将在我们的机器中安装CouchDB和Futon,运行Ubuntu 16.04 LTS Xenial。

准备工作

在我们开始之前,我们需要确保在我们的机器或者服务器中获得Ubuntu 16.04 LTS Xenial,因为我们在Ubuntu 16.04 LTS Xenial中具有CouchDB安装。

如果我们没有计划和计划安装Ubuntu 16.04,则可以从官方Ubuntu下载页面下载它。

一旦我们有Ubuntu 16.04就准备好了,我们首先需要更新APT包管理器的本地存储库索引。
如果我们正在使用root用户访问,我们每次运行命令时都不需要输入sudo,但在我们运行非root用户时,我们需要在每个命令中输入sudo才能访问root权限。

$sudo apt-get update

一旦更新了APT包管理器的本地存储库,我们将使用以下命令升级我们的Ubuntu系统的软件包。

$sudo apt-get upgrade

添加PPA存储库

一旦我们符合我们的准备工作,我们将向前迈向安装CouchdB和Futon的安装。
由于我们拥有Apache CouchDB的Ubuntu PPA存储库,由CouchDB项目和社区更新,我们将为它进行。
使用PPA存储库安装CouchDB是安装CouchDB官方版本最简单而简单的方法。
首先,我们需要确保我们已安装名为Software-Properties的程序包 - 常见,以便我们可以轻松地在Ubuntu计算机中添加PPA存储库。
要安装它,我们需要执行以下命令。

$sudo apt-get install software-properties-common

接下来,我们将使用终端中的Add-APT-Repository命令添加官方CouchDB PPA存储库。

$sudo add-apt-repository ppa:couchdb/stable

然后,我们需要更新APT包管理器的本地存储库索引,因为我们添加了上面的新PPA存储库。

$sudo apt-get update

安装CouchdB.

现在,我们将在机器中安装CouchDB,因为所有上述步骤都已完成。
要从官方PPA存储库中安装CouchDB,我们现在可以在我们的终端中简单地运行以下APT-GET命令。
这将在各自的存储库中使用所需的依赖项安装CouchDB。

$sudo apt-get install couchdb

修复所有权和许可

由于某些文件和目录在root用户和组下设置默认情况下,它可能会根据生产中的安全性可能存在风险,因此其强烈建议修复许可。
为了解决问题,我们需要更改属于CouchDB用户和组的文件的所有权。
由于默认情况下,由于在上面的安装过程中默认创建了新用户和组,我们无需创建另一个。
为了更改所有权,我们只需运行以下命令。

$sudo chown -R couchdb:couchdb /usr/bin/couchdb /etc/couchdb /usr/share/couchdb

一旦完成,我们现在需要通过执行以下操作来修复这些文件和目录的权限。

$sudo chmod -R 0770 /usr/bin/couchdb /etc/couchdb /usr/share/couchdb

重新启动CouchdB.

一旦上面的所有步骤成功完成,我们现在将重新启动CouchDB实例。
为此,随着我们正在运行Ubuntu 16.04 LTS Xenial及其附带SystemD作为默认Init系统,我们需要运行以下命令。

$sudo systemctl restart couchdb

为了测试CouchDB是否正常运行,我们可以简单地运行以下命令,该命令将通过curl检索信息。

$curl localhost:5984

访问蒲团

由于CouchDB本身包括Futon,用于CouchDB的Web界面我们可以通过我们的Web浏览器访问它。
为此,我们首先需要执行SSH隧道,因为我们允许防火墙中的蒲团当前可能是危险的,因为我们没有设置正确的管理员凭据。
为了设置SSH隧道,我们需要运行以下命令。

$ssh -L 5984:127.0.0.1:5984 arun@ip-address

注意:这里我们需要分别使用服务器的用户名和IP地址替换ARUN和IP地址。

现在,正如我们成功设置SSH隧道的那样,我们现在将访问CouchDB的Web界面。
为此,我们需要打开一个Web浏览器并将其指向http://localhost:5984.

然后,为了访问蒲团的Web应用程序,我们需要指向http://localhost:5984/_utils/index.html。
一旦完成,我们将获得访问"未来数据库管理"面板,我们可以执行不同的CouchDB数据库管理活动。

保护蒲团

由于我们不需要任何登录凭据登录蒲团面板,并且由于每个帐户都是管理员帐户,任何访问蒲团的人都有能力对数据库进行更改。
因此,首先,我们需要通过创建新的管理员帐户来确保它。
为此,我们只需单击右侧列底部显示的"修复"IT链接。

这样做将打开一个对话框,允许我们创建一个新的管理员帐户。
其中我们需要输入我们将进一步使用的所需用户名和密码来登录蒲团。

创建数据库

现在,为了创建数据库,我们需要使用上面创建的用户名和密码登录蒲团控制面板。
然后,我们将单击屏幕左上角可用的"创建数据库"按钮。
然后,将要求我们输入要创建的新数据库的名称。
接下来,我们可以轻松地添加新文档,编辑,删除,更新并通过蒲团保存文档。

允许外部访问

如果我们需要在本地网络或者本地计算机之外可以使用CouchDB和可用,那么我们需要确保完成上述蒲团上的上述步骤。
然后,我们需要在[httpd]块下,在/etc/couchdb/local.ini文件中添加0.0.0.0到绑定地址。
为此,我们需要以root用户身份登录并使用文本编辑器打开文件。

$su root
# nano /etc/couchdb/local.ini
[httpd]
bind_address = 0.0.0.0

其中我们可以根据我们的需求和要求自定义我们的配置。
一旦完成,我们将保存文件并退出文本编辑器。
一旦完成,我们就可以通过在终端中执行Exit命令来从root用户中注销。

现在,为了应用更改,我们需要使用SystemCtl命令重新启动CouchDB服务。

$sudo systemctl restart couchdb

允许防火墙

正如我们在本地网络中释放我们的CouchDB,我们还需要确保防火墙程序打开Port 5984.
随着Ubuntu 16.04 LTS Xenial运行用SystemD作为默认Init系统,Firewalld最可能用作防火墙程序。

$sudo firewall-cmd --zone=public --add-port=5984/tcp --permanent

添加端口以供公众访问后,我们需要确保我们重新加载防火墙程序。

$sudo firewall-cmd --reload

注意:允许通过互联网访问CouchDB使任何人都能够添加和访问文档和数据库,而他们无法编辑和删除文档,因为我们已在上面创建了管理用户。
因此,如果我们需要远程访问它,我们不建议在外部访问CouchDB,我们可以使用SSH隧道或者允许特定的IP地址通过IPTABLE或者防火墙程序连接。