Nextcloud 是 ownCloud 的一个分支,可用于搭建文件共享服务器,它允许用户将个人内容(如文档和图片)存储在一个类似私人网盘的位置,看起来就像 Dropbox 或者国内的各种网盘一样。Nextcloud 的不同之处在于它的所有功能都是开源的。它将敏感数据的控制权和安全性交还给用户,从而消除了对第三方云托管服务的使用。
在本教程中,我们将介绍如何在 Ubuntu 20.04 服务器上安装和配置 Nextcloud 实例。
第 1 步 – 安装 Nextcloud
我们这里使用Snap包管理工具安装 Nextcloud。Snap 默认在 Ubuntu 20.04 上可用,它允许组织在具有自动更新的独立单元中发布软件以及所有相关的依赖项和配置。这意味着我们可以安装snap
自动处理底层系统的软件包,而不是安装和配置 Web 和数据库服务器,然后配置 Nextcloud 应用程序以在其上运行。
要下载和安装 Nextcloud snap 包,请执行下面的命令:
sudo snap install nextcloud
Nextcloud 软件包将被下载并安装在您的服务器上。可以通过列出与 snap 关联的更改,来确认安装过程是否成功:
snap changes nextcloud
Output
ID Status Spawn Ready Summary
4 Done today at 16:12 UTC today at 16:12 UTC Install "nextcloud" snap
上面所示的状态和摘要表明 nextcloud 安装已完成。
获取有关 Nextcloud Snap 的其他信息
如果您想了解有关 Nextcloud 的更多信息,下面的命令可能会有帮助。
这里的snap info
命令可以向您显示描述、可用的 Nextcloud 管理命令,以及已安装的版本和正在跟踪的快照通道:
snap info nextcloud
Snap 可以对其支持的连接进行自定义,这些连接由一个插槽和插头组成,当它们连接在一起时,就可以让 snap 访问某些功能。例如,Snap 要充当网络客户端必须具有network
连接。要查看 Snap 定义的 connections,请键入:
snap connections nextcloud
Output
Interface Plug Slot Notes
network nextcloud:network :network -
network-bind nextcloud:network-bind :network-bind -
removable-media nextcloud:removable-media - -
要了解 snap 提供的所有服务,可以查看 snap 定义文件:
cat /snap/nextcloud/current/meta/snap.yaml
第 2 步 – 配置管理帐户
有几种不同的方式可以配置 Nextcloud snap。在本指南中,我们通过命令行创建一个管理用户。
要创建新的管理员帐户配置 Nextcloud,可使用nextcloud.manual-install
命令。必须以新的用户名和密码作为参数:
sudo nextcloud.manual-install sammy password
如果返回以下消息,则表明 Nextcloud 已正确配置:
Output
Nextcloud was successfully installed
现在已经安装了 Nextcloud,我们需要调整可信域,以便 Nextcloud 将使用服务器的域名或 IP 地址响应请求。
第 3 步 – 调整可信域
从命令行安装 Nextcloud,它会限制实例响应的主机名。默认情况下,Nextcloud 服务仅响应对“localhost”主机名的请求。我们需要通过域名或 IP 地址访问 Nextcloud,所以我们需要调整设置以接受相应类型的请求。
可以通过查询 trusted_domains 数组的值来查看当前设置:
sudo nextcloud.occ config:system:get trusted_domains
Output
localhost
目前,localhost
作为数组中的唯一值存在。我们可以通过键入以下命令,将服务器的域名或 IP 地址添加到可信域中:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
Output
System config value trusted_domains => 1 set to string example.com
如果再次查询受信任的域,将会看到现在已经有两个条目:
sudo nextcloud.occ config:system:get trusted_domains
Output
localhost
example.com
第 4 步 – 使用 SSL 保护 Nextcloud Web 界面
在我们开始使用 Nextcloud 之前,需要为 Web 界面配置 https 访问。
如果您有解析到 Nextcloud 服务器的域名,Nextcloud snap 可以从Let’s Encrypt获取和配置受信任的 SSL 证书。如果您的 Nextcloud 服务器没有域名,Nextcloud 可以配置一个自签名证书。自签名证书同样会加密网络传输流量,但可能会在浏览器上有不安全的提示。
大家可以根据自身的情况,选择配置的方式。
选项 1:使用 Let’s Encrypt 设置 SSL
如果已经将域名解析到 Nextcloud 服务器,我们使用 Let’s Encrypt 配置 SSL 证书。
首先,在防火墙中打开相应的端口。这将允许通过网络访问 Nextcloud,我们刚刚已经配置了管理员帐户,因此其他人是无法访问的:
sudo ufw allow 80,443/tcp
接下来,通过键入以命令容申请 Let’s Encrypt 证书:
sudo nextcloud.enable-https lets-encrypt
首先系统会询问服务器是否满足从 Let’s Encrypt 申请证书的必要条件:
Output
In order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:
1. In order to register with the Let's Encrypt ACME server, you must
agree to the currently-in-effect Subscriber Agreement located
here:
https://letsencrypt.org/repository/
By continuing to use this tool you agree to these terms. Please
cancel now if otherwise.
2. You must have the domain name(s) for which you want certificates
pointing at the external IP address of this machine.
3. Both ports 80 and 443 on the external IP address of this machine
must point to this machine (e.g. port forwarding might need to be
setup on your router).
Have you met these requirements? (y/n)
键入y
继续。
接下来,将要求您提供电子邮件地址:
Output
Please enter an email address (for urgent notices or key recovery):
输入您的电子邮件,然后按Enter
继续。
最后,输入已经解析到 Nextcloud 服务器的域名:
OutputPlease enter your domain name(s) (space-separated): example.com
接下来,系统将请求 Let’s Encrypt 证书:
Output
Attempting to obtain certificates... done
Restarting apache... done
然后就可以登录 Nextcloud 了。
选项 2:使用自签名证书设置 SSL
如果您的 Nextcloud 服务器没有域名,可以通过生成自签名 SSL 证书来保护 Web 访问。此证书的加密作用与正常的 SSL 证书一样,但在浏览器中可能会提示不安全。
要生成自签名证书,请执行下面的命令:
sudo nextcloud.enable-https self-signed
Output
Generating key and self-signed certificate... done
Restarting apache... done
以上输出表明 Nextcloud 已生成并启用了自签名证书。
然后在防火墙中打开 Web 端口以允许通过 Web 访问:
sudo ufw allow 80,443/tcp
第 5 步 – 通过 Web 界面访问 Nextcloud
现在 Nextcloud 已经配置好了,可以通过域名或 IP 地址来访问了:
https://example.com
注意:如果您设置了自签名 SSL 证书,浏览器可能会有连接不安全的警告,这时因为服务器的证书未由公认的证书颁发机构签名,但这个提示不影响证书的加密作用。
在之前的步骤中,我们已经在命令行中配置了管理员帐户,首先会打开 Nextcloud 登录页面。输入管理员用户名和密码登录:
第一次进入将显示一个窗口,提示可用于访问 Nextcloud 实例的各种 Nextcloud 客户端的链接:
根据需要下载所需的客户端,然后单击右上角的X退出窗口。然后就会进入 Nextcloud 主界面,可以在这里上传和管理文件:
总结
综上所述,我们就成功使用 Nextcloud 搭建了自己的私有云。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/how-to-setup-your-nextcloud-server/