在Ubuntu 18.04上安装和配置Nextcloud的方法

简介: 在Ubuntu 18.04上安装和配置Nextcloud的方法

简介

Nextcloud 是 ownCloud 的一个分支,是一个文件共享服务器,允许您将个人内容(如文档和图片)存储在一个类似 Dropbox 的集中位置。与 Nextcloud 的区别在于,它的所有功能都是开源的。它还将敏感数据的控制和安全性归还给您,从而消除了使用第三方云托管服务的需求。

在本教程中,我们将在 Ubuntu 18.04 服务器上安装和配置一个 Nextcloud 实例。

先决条件

为了完成本指南中的步骤,您需要以下内容:

  • 服务器上配置了 sudo 用户和防火墙:您可以按照 Ubuntu 18.04 初始服务器设置指南创建具有 sudo 权限的用户并设置基本防火墙。
  • (可选)指向服务器的域名:我们将使用 TLS/SSL 来保护与 Nextcloud 安装的连接。如果您的服务器有一个域名,Nextcloud 可以设置和管理来自 Let’s Encrypt 的免费受信任的 SSL 证书。如果没有,Nextcloud 可以设置一个自签名的 SSL 证书来加密连接,但在 Web 浏览器中默认不受信任。如果您使用的是 DigitalOcean,您可以按照我们的指南设置服务器的域名,如果您打算使用 Let’s Encrypt。

完成上述步骤后,继续学习如何在服务器上设置 Nextcloud。

步骤 1 - 安装 Nextcloud

我们将使用 snappy 包装系统来安装 Nextcloud。这个包装系统在 Ubuntu 18.04 上默认可用,允许组织将软件与所有相关依赖项和配置一起打包到一个自包含的单元中,并自动更新。这意味着,我们可以安装 snap 包,它会自动处理底层系统,而不是安装和配置 Web 和数据库服务器,然后配置 Nextcloud 应用在其上运行。

要下载 Nextcloud snap 包并在系统上安装它,请输入:

sudo snap install nextcloud

Nextcloud 包将被下载并安装在您的服务器上。您可以通过列出与 snap 相关的更改来确认安装过程是否成功:

snap changes nextcloud
ID   Status  Spawn               Ready               Summary
2    Done    today at 16:12 UTC  today at 16:12 UTC  Install "nextcloud" snap

状态和摘要表明安装已经顺利完成。

获取有关 Nextcloud Snap 的其他信息

如果您想要一些关于 Nextcloud snap 的更多信息,有一些命令可能会有所帮助。

snap info 命令可以显示描述、可用的 Nextcloud 管理命令、已安装的版本以及正在跟踪的 snap 通道:

snap info nextcloud

Snaps 可以定义它们支持的接口,这些接口由插槽和插件组成,当它们连接在一起时,给予 snap 访问某些功能或访问级别。例如,需要充当网络客户端的 snap 必须具有 network 接口。要查看此 snap 定义的 snap “接口”,请输入:

snap interfaces nextcloud
Slot           Plug
:network       nextcloud
:network-bind  nextcloud
-              nextcloud:removable-media

要了解此 snap 提供的所有特定服务和应用程序,您可以查看 snap 定义文件,方法是输入:

cat /snap/nextcloud/current/meta/snap.yaml

这将允许您查看 snap 中包含的各个组件,如果您需要帮助进行调试。

配置管理员帐户

有几种不同的方式可以配置 Nextcloud snap。在本指南中,我们将通过命令行创建一个管理员用户,而不是通过 Web 界面创建,以避免管理员注册页面在访问您服务器的 IP 地址或域名的任何人都可以访问的小窗口期。

要使用 nextcloud.manual-install 命令配置 Nextcloud 的新管理员帐户,您必须传入用户名和密码作为参数:

sudo nextcloud.manual-install sammy password

以下消息表示 Nextcloud 已正确配置:

Nextcloud is not installed - only a limited number of commands are available
Nextcloud was successfully installed

现在 Nextcloud 已安装,我们需要调整受信任的域,以便 Nextcloud 响应使用服务器的域名或 IP 地址的请求。

调整受信任的域

在命令行安装时,Nextcloud 限制实例响应的主机名。默认情况下,服务只响应对“localhost”主机名的请求。我们将通过服务器的域名或 IP 地址访问 Nextcloud,因此我们需要调整此设置以接受这些类型的请求。

您可以通过查询 trusted_domains 数组的值来查看当前设置:

sudo nextcloud.occ config:system:get trusted_domains
localhost

目前,数组中只有 localhost 作为第一个值。我们可以通过输入以下内容为服务器的域名或 IP 地址添加一个条目:

sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
System config value trusted_domains => 1 set to string example.com

如果我们再次查询受信任的域,我们将看到现在有两个条目:

sudo nextcloud.occ config:system:get trusted_domains
localhost
example.com

如果您需要添加另一种访问 Nextcloud 实例的方式,您可以通过重新运行 config:system:set 命令并调整 --value 来添加其他域或地址。

使用 SSL 保护 Nextcloud Web 界面

在开始使用 Nextcloud 之前,我们需要保护 Web 界面。

如果您的 Nextcloud 服务器关联有域名,Nextcloud 快照可以帮助您获取并配置来自 Let’s Encrypt 的受信任 SSL 证书。如果您的 Nextcloud 服务器没有域名,Nextcloud 可以配置一个自签名证书,它将加密您的 Web 流量,但无法验证服务器的身份。

考虑到这一点,请按照与您的情况相匹配的下面的部分。

选项 1:使用 Let’s Encrypt 设置 SSL

如果您的 Nextcloud 服务器关联有域名,保护 Web 界面的最佳选择是获取 Let’s Encrypt SSL 证书。

首先,打开防火墙中 Let’s Encrypt 用于验证域所有权的端口。这将使您的 Nextcloud 登录页面公开访问,但由于我们已经配置了管理员帐户,因此没有人能够劫持安装:

sudo ufw allow 80,443/tcp

接下来,通过输入以下命令请求 Let’s Encrypt 证书:

sudo nextcloud.enable-https lets-encrypt

首先,您将被询问您的服务器是否满足从 Let’s Encrypt 服务请求证书的条件:

为了让 Let's Encrypt 验证您实际拥有要请求证书的域名,您需要了解一些要求:
1. 为了注册 Let's Encrypt ACME 服务器,您必须同意当前生效的订阅者协议,位于以下位置:
       https://letsencrypt.org/repository/
   继续使用此工具,即表示您同意这些条款。如果不同意,请立即取消。
2. 您必须拥有要获取证书的域名指向此计算机的外部 IP 地址。
3. 此计算机的外部 IP 地址上的端口 80 和 443 必须指向此计算机(例如,您的路由器可能需要设置端口转发)。
您是否满足这些要求?(y/n)

输入 y 继续。

接下来,您将被要求提供用于恢复操作的电子邮件地址:

请输入电子邮件地址(用于紧急通知或密钥恢复):your_email@domain.com

最后,输入与您的 Nextcloud 服务器关联的域名:

请输入您的域名(以空格分隔):example.com

您的 Let’s Encrypt 证书将被请求,并且如果一切顺利,内部 Apache 实例将被重新启动以立即实施 SSL:

尝试获取证书... 完成
重新启动 apache... 完成

您现在可以跳转到首次登录 Nextcloud。

选项 2:使用自签名证书设置 SSL

如果您的 Nextcloud 服务器没有域名,您仍然可以通过生成自签名 SSL 证书来保护 Web 界面。此证书将允许通过加密连接访问 Web 界面,但无法验证服务器的身份,因此您的浏览器可能会显示警告。

要生成自签名证书并配置 Nextcloud 使用它,请输入:

sudo nextcloud.enable-https self-signed
生成密钥和自签名证书... 完成
重新启动 apache... 完成

上述输出表明 Nextcloud 生成并启用了自签名证书。

现在界面已经安全,打开防火墙中的 Web 端口以允许访问 Web 界面:

sudo ufw allow 80,443/tcp

您现在可以准备首次登录 Nextcloud。

登录到 Nextcloud Web 界面

现在 Nextcloud 已配置好,访问您服务器的域名或 IP 地址在您的 Web 浏览器中:

https://example.com

由于您已经从命令行配置了管理员帐户,您将被带到 Nextcloud 登录页面。输入您为管理员用户创建的凭据:

!Nextcloud 登录页面

点击 登录 按钮以登录到 Nextcloud Web 界面。

第一次进入时,将显示一个窗口,其中包含可用于与和管理 Nextcloud 实例交互的各种 Nextcloud 客户端的链接:

!Nextcloud 客户端模态

点击链接以下载您感兴趣的任何客户端,或通过点击右上角的 X 退出窗口。您将进入主 Nextcloud 界面,您可以开始上传和管理文件:

!Nextcloud 主页面

您的安装现在已经完成并已安全。随时探索界面,以更熟悉您的新系统的功能和功能。

结论

Nextcloud 可以复制流行的第三方云存储服务的功能。内容可以在用户之间共享,也可以通过公共 URL 在外部共享。Nextcloud 的优势在于信息存储在你控制的安全位置。

探索界面,并通过 Nextcloud 的应用商店安装插件以获得额外功能。


目录
相关文章
|
10月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1832 1
|
9月前
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
1255 5
|
9月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
931 18
|
10月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
529 18
|
10月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
494 18
|
10月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
894 17
|
10月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
681 15
|
10月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
985 14
|
10月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
1133 7
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
1430 12