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

本文涉及的产品
.cn 域名,1个 12个月
云防火墙,500元 1000GB
简介: 在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 的应用商店安装插件以获得额外功能。


目录
相关文章
|
27天前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
174 50
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
168 4
Linux系统之Ubuntu安装cockpit管理工具
|
28天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
45 2
|
2月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
180 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
2月前
|
网络协议 Ubuntu 网络安全
|
2月前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
164 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
2月前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
227 1
|
2月前
|
Ubuntu Linux
软件安装(五):Ubuntu 18.04安装Teamviewer 看一遍就会
这篇文章介绍了在Ubuntu 18.04系统上通过图形界面和命令行两种方法安装TeamViewer远程控制软件的步骤。
41 2
|
1月前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
2月前
|
Ubuntu Linux
Ubuntu 16.04下无法安装.deb的解决方法
希望以上策略能有效协助您克服在Ubuntu 16.04中安装.deb文件时遇到的挑战。
46 0