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

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

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

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

先决条件

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

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

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

步骤 1 – 安装 Nextcloud

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

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

sudo snap install nextcloud

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

snap changes nextcloud
ID   Status  Spawn                 Ready                 Summary
2    Done    2017-10-03T20:03:09Z  2017-10-03T20:03:26Z  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 snap 不包含 PCNTL 扩展。这些可以安全地忽略:


The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
Nextcloud is not installed - only a limited number of commands are available
Nextcloud was successfully installed

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

调整受信任的域名

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

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

sudo nextcloud.occ config:system:get trusted_domains
当前,数组中只有`localhost`作为第一个值。我们可以通过输入以下命令为服务器的域名或 IP 地址添加条目:```command
sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
如果我们再次查询受信任的域名,我们将看到现在有两个条目:```command
sudo nextcloud.occ config:system:get trusted_domains
如果您需要添加另一种访问 Nextcloud 实例的方式,您可以通过使用增加的索引号(第一个命令中的“1”)和调整`--value`来重新运行`config:system:set`命令来添加其他域名或地址。## 使用 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 登录页面公开访问,但由于我们已经配置了管理员帐户,因此没有人能够劫持安装:```command
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 地址在浏览器中访问:

https://example.com

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

!Nextcloud 登录页面

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

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

!Nextcloud 客户端模态框

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

!Nextcloud 主页面

你的安装现在已经完成并得到了保护。随意探索界面,以更熟悉你的新系统的功能和特性。

结论

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样将word默认Microsoft Office,而不是WPS

设置——>应用——>默认应用——>选择"word"——>将doc和docx都选择Microsoft Word即可

面试题-Spring家族与SpringIOC

1.spring家族的介绍 Spring简单图: 2.IOC原理 IOC就是原先代码里需要开发者实现对象的创建和关系依赖,反转交给SpringIOC容器管理对象的生命周期和对象之间的依赖关系。 依赖注入的方式: Setter:实现特定属性的public sette…

酱酒特点标准术语

酱酒的独特风味可以通过一系列专业的标准术语进行描绘,这些术语不仅包括了酱酒的香气和口感,还涵盖了对酱酒的深度品鉴知识。以下是酱酒亮哥收集的一些关键的酱酒特性标准术语: 酱香显著:这是酱香型白酒的香气特征,表…

Evented PLEG: iSulad 稳态 CPU 利用率降低30%的关键特性

背景 容器技术在不断发展的过程中,已被广泛应用于多种场景。OpenAtom openEuler(简称"openEuler") 社区容器引擎项目 iSulad[1]面向 CT、IT 领域的不同需求而生,它具有轻量级、高性能的特点,可以在资源受限…

[C++11] noexcept 完整解析

说明:noexcept是C11标准引入的一个关键字,用于指示一个函数是否被保证不会抛出异常。如果但从设计角度看会感觉很奇怪,明明是有问题才抛出异常,那为什么还是在某些时候禁止抛异常呢?接下来我们了解下C11 为什么引入了 …

高性能LDO电路设计,有配套文档

内容: 1、电路文件(有仿真状态)和PDK(TSMC180) 2、配套仿真结果文档讲解6页 3、参考资料三篇 指标: LDO 温度系数1.09ppm LDO 环路增益在 64.3dB,相位裕度在 66,系统稳定。 LDO 最大…

【问题】升级指定conda虚拟环境的python到指定版本

1 背景 当前conda环境的名字为python38,进入环境python38命令如下: conda activate python38 2 升级python到3.10版本 conda install python=3.10 3 查看python版本 conda list -n python38 python

技术派Spring事件监听机制及原理

Spring事件监听机制是Spring框架中的一种重要技术,允许组件之间进行松耦合通信。通过使用事件监听机制,应用程序的各个组件可以在其他组件不直接引用的情况下,相互发送和接受消息。 需求 在技术派中有这样一个需求,当发布文章或…

Linux驱动入门-最简单字符设备驱动

一、字符设备驱动概念 1. 什么是字符设备驱动? 字符设备是 Linux 驱动中最基本的一类设备驱动,按字节流进行读写操作,数据读写有先后顺序。常见的字符设备包括LED灯、按键、IIC、SPI、LCD等。字符设备驱动就是为这些设备编写的驱动程序。 …

ollama,springAi实现自然语言处理

ollama安装使用: https://ollama.com/ 下载速度比较慢的可以直接使用以下版本0.1.41 https://pan.baidu.com/s/1hCCkYvFjWqxvPyYA2-YElA?pwdotap 直接管理员身份双击安装,安装成功后会在任务栏里出现这个小图标: 打开cmd,输入…

java实现图像分割合并

Java实现图片操作:切割、缩放、重置、拼接、合并、水印、画单点、画线段等_java拼接图片并截掉一部分-CSDN博客

WhatsApp:连接世界的即时通讯巨头

在数字化浪潮席卷全球的今天,即时通讯工具已成为人们日常生活中不可或缺的一部分。其中,WhatsApp凭借其卓越的功能、出色的用户体验和广泛的用户基础,在全球通讯领域崭露头角,成为连接世界的即时通讯巨头。今天将带您深入了解What…

tkinter显示图片

tkinter显示图片 效果代码解析打开和显示图像 代码 效果 代码解析 打开和显示图像 def open_image():file_path filedialog.askopenfilename(title"选择图片", filetypes(("PNG文件", "*.png"), ("JPEG文件", "*.jpg;*.jpeg&q…

2024.7.1 刷题总结

2024.7.1 **每日一题** 2065.最大化一张图中的路径价值,本题可以从数据范围得到思路的参考,根据总最大时间和单个最小时间得到最多可以有十条边,即搜索树有11层,每个节点最多有4个儿子,可视为一棵层数至多为11的四叉树…

数据资产赋能企业决策:通过精准的数据分析和洞察,构建高效的数据资产解决方案,为企业提供决策支持,助力企业实现精准营销、风险管理、产品创新等目标,提升企业竞争力

一、引言 在信息化和数字化飞速发展的今天,数据已成为企业最宝贵的资产之一。数据资产不仅包含了企业的基本信息,还蕴含了丰富的市场趋势、消费者行为和潜在商机。如何通过精准的数据分析和洞察,构建高效的数据资产解决方案,为企…

【论文通读】GUI Action Narrator: Where and When Did That Action Take

GUI Action Narrator: Where and When Did That Action Take 前言AbstractMotivationSolutionAct2CapData CollectionMetrics MethodExperimentAblation StudyVisual Prompt SizeSpatial PromptTemporal Prompt Conclusion 前言 一篇GUI操作benchmark的工作,作者提…

tkinter实现进度条

tkinter实现进度条 效果代码解析导入需要的模块定义进度条 代码 效果 代码解析 导入需要的模块 import tkinter as tk from tkinter import ttk定义进度条 def start_progress():progress[value] 0max_value 100step 10for i in range(0, max_value, step):progress[valu…

Win11找不到组策略编辑器(gpedit.msc)解决

由于需要同时连接有线网络和无线网络,且重启后双网络都自动连接,因此需要配置组策略。 但是win11找不到组策略编辑器。 灵感来源:Win11找不到组策略编辑器(gpedit.msc)解决教程 - 知乎 (zhihu.com) 在Win11中&#…

国网协议电表采集方案

项目背景及需求项目地点:重庆港西光伏电站(中广核重庆)项目背景:光伏发电并网项目电能监控项目目的及难点:实现对EDMI协议电表(Mk6E)的数据采集,监控光伏发电有效性,做到…

项目管理九大口诀

有工作一定有目标 有目标一定有任务 有任务一定有计划 有计划一定有执行 有执行一定有监控 有监控一定有调整 有调整一定有结果 有结果一定有责任 有责任一定有奖惩 🩷有工作一定有目标 目标制定:SMART Specific(具体性)&#x…