Sitemap

云计算服务已得到广泛应用,从 Dropbox 和 iCloud 等云存储服务到 Google Workspace 和 Office 365 等生产力套件。这些服务提供了跨设备同步文档以及从任何网络浏览器或移动设备使用专业软件的能力。随着云计算的成熟,越来越流行的解决方案是让用户操作个人云服务器。

在这些说明中,我们使用开源软件 Nextcloud 创建了一个您可以控制的云存储服务。我们创建一个本地测试服务器,仅限于在您的本地网络中运行。然后我们在您的台式电脑和移动设备上安装 Nextcloud 客户端,并在它们之间同步文件。然后我们将展示如何在远程托管服务上运行相同的常规配置,以便您可以从任何地方访问您的云。

关于 Nextcloud

Nextcloud 是一种云存储服务器,旨在扩展到数十万用户。您可以在 Windows、macOS、Linux、Android 和 iOS 上运行客户端软件,将文件同步到多个设备。

您还可以通过登录 Nextcloud 门户网站访问您在网络上的文件。该门户网站具有管理员控制面板,您可以在其中添加用户、配置组权限和设置单个磁盘配额。该门户还使用插件系统为您和您的其他用户提供附加功能,例如实时聊天和视频会议。

如需了解更多关于 Nextcloud 的信息,请访问官网 https://nextcloud.com。

创建本地 Nextcloud 服务器

在本节中,我们将在您的本地网络上创建 Nextcloud 服务器。云服务仅适用于连接到您的网络的设备。此设置可让您在本地网络的安全性中试用 Nextcloud,而无需在域名或远程 Web 托管服务上花费任何资金。

您可以在专用计算机上运行服务器,但为了进行测试,将其安装在可以在主计算机上运行的 VM(虚拟机)上更容易。您的计算机需要以下资源:

下载 Ubuntu 18 服务器

Nextcloud 需要一台运行 Linux 的服务器。Nextcloud 推荐的 Linux 操作系统是 Ubuntu Server,所以这就是我们在这个例子中使用的。

Ubuntu 可以免费下载和使用。从 http://releases.ubuntu.com/18.04.2/ubuntu-18.04.2-live-server-amd64.iso 下载 Ubuntu Server 18.04。这是一个大文件,大约 2 GB。

安装 VirtualBox 并创建一个 VM

在此示例中,我们使用 Oracle VM VirtualBox 创建和运行我们的 VM。VirtualBox 是免费供个人使用的。

  1. 在浏览器中,转到 https://www.virtualbox.org/wiki/Downloads。单击 Windows 主机以下载适用于 Windows 的安装程序。
  2. 使用默认安装选项运行安装程序。安装完成后,运行 VirtualBox。
  3. 在 VirtualBox 中,单击新建以创建新的虚拟机。

  1. 命名虚拟机。名称可以是任何名称,但应包含单词 Ubuntu。确保“类型”设置为 Linux,“版本”设置为 Ubuntu(64 位)。点击下一步。

  1. 将“内存大小”设置为 1024 MB (1 GB)。点击下一步。

  1. 对于“硬盘”,选择立即创建虚拟硬盘,然后单击创建。

  1. 对于“硬盘文件类型”,选择 VDI。点击下一步。

  1. 对于“物理硬盘上的存储”,选择动态分配。

  1. 对于“文件位置和大小”,选择 10 GB 的磁盘大小。 (如果您愿意,可以选择更大的尺寸。)单击创建。

  1. 配置网络适配器,使其成为本地网络的一部分。在左侧突出显示您的 VM 后,单击设置。

  1. 在左侧,单击网络。在右侧的“附加到”下,选择桥接适配器。单击确定。

  1. VM 已准备就绪。单击开始。

  1. 在“选择启动盘”中,单击文件夹图标,然后选择您下载的 Ubuntu ISO。如果仍在下载,请等待下载完成。单击开始。

Ubuntu 服务器 ISO 启动。您的虚拟机已启动并正在运行。

在你的虚拟机上安装 Ubuntu 服务器

您的 VM 将引导至 Ubuntu Server live ISO,其中包含 Ubuntu 安装程序。

笔记

当您在 VM 窗口内单击时,它会捕获您的鼠标和键盘。您的鼠标光标将消失,您可能无法使用 Windows 快捷方式,例如Alt+标签.您可以通过按下 VirtualBox 的“主机键”来释放键盘和鼠标,这是正确的Ctrl键盘上的键。要继续使用 VM,请再次在其窗口内单击。

笔记

安装程序界面是纯文本的。在以下步骤中,使用向上、向下和 Tab 键更改突出显示的选项,使用空格键切换复选框,使用 Enter 进行选择。

  1. 设置您的键盘类型。如果您使用的是标准美式键盘,请按进入.
  2. 选择安装 Ubuntu 并按进入.

  1. 在“网络连接”下,选择 Ubuntu 应该使用的网络适配器。在此示例中,我们希望它使用我们的以太网连接 (eth)。选择完成并按下进入.

  1. 在“配置代理”处,按进入.
  2. 在“配置 Ubuntu 存档镜像”处,按进入.
  3. 在“文件系统设置”下,选择默认设置,使用整个磁盘。按进入.

  1. 10 GB VirtualBox VDI 是唯一的磁盘。在“选择要安装到的磁盘”处,按进入.

  1. 查看汇总信息,然后选择完成并按进入.
  2. 在“确认破坏性行动”下,选择继续并按进入.

  1. 在“配置文件设置”下,创建一个新的用户配置文件。新配置文件也是默认的 Ubuntu 管理员帐户。 “你的名字”可以是任何你喜欢的名字。对于“您的服务器名称”,输入您计算机的主机名(仅使用数字、小写字母、短划线和下划线),例如 nextcloud。对于“用户名”,选择您要用于登录计算机的名称(使用小写字母且不包含空格)。选择一个密码,然后再次输入以进行验证。选择完成并按下进入.

  1. 在“SSH 设置”下,选择标记为安装 OpenSSH 服务器的框。如有必要,SSH 允许您远程连接到机器。选择完成并按下进入.

  1. 在“精选服务器快照”下,选择 Nextcloud。选择完成并按下进入.

  1. 安装过程继续。完成后,选择立即重新启动以启动已安装的操作系统。

配置 Ubuntu 并安装 Nextcloud 服务器

  1. 当服务器启动时,使用您在 Ubuntu 配置文件设置期间选择的名称和密码登录。
笔记

您可能会注意到登录提示与其他系统消息混在一起。如果您没有看到登录提示,请按进入显示一个新的。

  1. 执行初始系统更新。运行 sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade。出现提示时输入您的密码。如果系统要求您确认升级,请输入 y,然后按进入.

  1. 添加防火墙规则以允许 OpenSSH 连接。运行 sudo ufw 允许 OpenSSH。
  2. 运行 sudo ufw enable 以启用防火墙。
  3. 运行 sudo ufw status 以验证防火墙是否正在过滤服务器的网络流量。

  1. 启动 Nextcloud 安装程序。运行 sudo nextcloud.manual-install用户通行证。对于用户和密码,选择您想与 Nextcloud 帐户一起使用的名称和密码。它可以与您的 Ubuntu 名称和密码不同。此帐户是 Nextcloud 管理员帐户。

片刻之后,您会看到:

 Nextcloud was successfully installed
  1. 接下来,在防火墙中打开端口 80 (HTTP) 和 443 (HTTPS)。运行 sudo ufw allow 80,443/tcp。

  1. Nextcloud 维护一个内部列表受信任的域。只有发往这些域的请求才能从 Nextcloud 服务器获得响应。默认情况下,唯一受信任的域是 localhost(服务器只能响应自己)。要查看受信任的域,请运行 sudo nextcloud.occ config:system:gettrusted_domains。

  1. 您需要将服务器的 IP 地址添加到受信任的域列表中。首先,确定您的服务器的 IP 地址。运行 ip a | grep inet 查找本地网络上服务器的 IP 地址。如果您在 IPv4 网络上,它应该以 192.168 或 10.0 开头。

  1. 在这里,我们的地址是 192.168.1.173。现在,将此地址设置为受信任的域。运行 sudo nextcloud.occ config:system:settrusted_domains 1 --value=域,其中域是您的服务器的 IP 地址。

  1. 创建 SSL 证书,以便 Nextcloud 可以通过 HTTPS 加密您的数据。由于此云仅限于您的家庭网络,因此您可以使用自签名证书。运行 sudo nextcloud.enable-https 自签名。

服务器配置已完成,您的云可运行。Nextcloud 服务正在运行,您的服务器正在本地网络上侦听 HTTP 和 HTTPS 连接请求。

登录 Nextcloud

要登录 Nextcloud Web 仪表板,您需要向浏览器添加安全例外,以便它接受您的自签名 SSL 证书。通常,除非您控制服务器和网络,否则您永远不会想要创建这样的异常。 (如果您在 Internet 上运行 Nextcloud,则不需要此步骤,在这种情况下,它使用 Let's Encrypt 提供 SSL 证书。)

  1. 在浏览器中,转到 Nextcloud 服务器的地址。在本例中,地址为 192.168.1.173。
  2. 您的网络浏览器会警告您 SSL 证书是自签名的。在 Chrome 中,单击高级,然后单击继续。

如果您使用的是 Firefox,请单击高级、添加例外、确认安全例外。

  1. 输入您在安装 Nextcloud 时配置的 Nextcloud 用户名和密码。单击登录。

  1. 在 Nextcloud 仪表板中,您可以查看和使用存储在云中的文件。如果单击齿轮图标 (⚙),您可以访问管理员设置并自定义您的服务器首选项。开始使用 Nextcloud 不需要任何配置,因此我们现在不会更改任何内容。有关 Nextcloud 首选项的详细指南,请参阅 https://docs.nextcloud.com/server/15/user_manual/userpreferences.html。

如何使用 Nextcloud

您的服务器正在运行,现在它需要客户端。在这些步骤中,您将在台式计算机和智能手机上安装 Nextcloud 客户端。

在您的台式计算机上安装 Nextcloud 客户端

  1. 在浏览器中,转到 https://nextcloud.com/install/。单击桌面下载。
  2. 单击窗口。安装程序下载。

  1. 运行安装程序,将所有选项保留为默认值。安装完成后,勾选Run Nextcloud,点击Finish。

  1. 在 Nextcloud 连接向导中,单击登录。

  1. 对于服务器地址,输入服务器的 IP 地址。

  1. 您会收到服务器证书不受信任的通知(因为它是自签名的)。选中标记为仍然信任此证书的框。单击确定。

  1. 单击登录。
  1. 输入您在安装 Nextcloud 时选择的名称和密码。单击登录。

  1. 单击授予访问权限。

  1. 在“设置本地文件夹选项”中,单击连接。

  1. Nextcloud 开始其第一次同步,并将默认的“欢迎使用 Nextcloud”文件下载到您的本地文件夹。

  1. 当您的本地文件夹与服务器同步时,您会在绿色圆圈中看到一个白色复选标记。同步进行时,此图标将变为蓝色并带有白色箭头。

  1. 您还将在通知区域中看到该图标。单击此图标可打开 Nextcloud 窗口。右键单击它以显示选项菜单,包括暂停同步、设置和退出。

恭喜!您现在正在运行私有云服务器,并同步到客户端。要访问本地 Nextcloud 文件夹,请打开文件资源管理器窗口(按窗口键+)。在左侧,单击 Nextcloud。

如果您在此处添加文件或文件夹,它们会自动同步到云以及运行客户端的任何其他设备。

在您的移动设备上安装 Nextcloud 客户端

笔记

本节中的屏幕截图在 Android 设备上,但在 iOS 上的步骤相同。

  1. 安装 Nextcloud 应用程序。在 Android 上,使用 Google Play 商店。在 iOS 上,使用 App Store。

  1. 打开应用程序,然后点击登录。

  1. 出现提示时,允许访问您设备上的文件。

  1. 对于服务器地址,输入您的服务器的 IP 地址。

  1. 点击是以信任自签名证书。

  1. 点击登录。
  1. 输入您在安装 Nextcloud 时配置的名称和密码,然后点击登录。

  1. 点击授予访问权限。

  1. Nextcloud 现在已安装。但是,尚未同步任何文件。在移动设备上,存储空间非常宝贵,Nextcloud 客户端在您要求之前不会将任何内容同步到您的设备。要查看可从 Nextcloud 同步的内容,请点击主菜单按钮 (☰)。

  1. 选择所有文件。

  1. 在这里,您可以看到 Nextcloud 服务器上已经存在的文件。要将某些内容同步到您的设备,请点击文件或文件夹旁边的三个点 (⋮),然后选择同步。

  1. 要处理同步到您设备的文件,请打开主菜单 ( ☰ ) 并选择在设备上。

  1. 要将文件从您的设备上传到 Nextcloud,请打开要放置文件的文件夹,然后点击加号图标 (+)。

启动和停止 VM

您的 Nextcloud 服务器现在可用于连接到本地网络的任何设备,只要您的 VM 正在运行。但是,当您完成测试或需要关闭或重新启动计算机时,您会想要停止服务器。

您可以通过运行 sudo shutdown now 从 Ubuntu Server 命令行关闭 Ubuntu 服务器。要稍后启动服务器,请在 VirtualBox 窗口中选择 VM,然后单击启动。

或者,您可以保存机器状态。保存状态将冻结 VM 及其所有当前内存内容,并在您稍后启动它时从该点恢复。要保存状态,请按住右Ctrl键盘上的键,然后按钥匙。选择保存机器状态,然后单击确定。

在 Internet 上运行 Nextcloud

如果您想从任何地方访问您的云,您可以在远程主机上创建相同的设置,例如 Linode 或 DigitalOcean。

这些步骤需要您拥有一个域名。将 Nextcloud 配置为使用现有域的子域,例如 subdomain.mydomain.com。

在以下示例中,我们在 Linode“Nanode”上设置 Nextcloud,这是他们的最小托管选项。截至 2019 年 3 月,Nanode 为您的托管实例提供 1 个 CPU、1 GB RAM 和 25 GB SSD,价格为 5 美元/月。

笔记

这些步骤也适用于 DigitalOcean 上等价的 5 美元/月托管选项。

创建一个 Ubuntu Nanode 并配置你的域

  1. 登录您的 Linode 帐户。转到 https://www.linode.com/,然后单击登录。输入您的 Linode 名称和密码。
  1. 在 Linode 仪表板中,单击创建,然后选择 Linode。
  1. 在“从图像创建”、“公共图像”下,选择 Ubuntu。
  1. 对于“地区”,请选择地理上距离您的使用区域最近的位置。
  1. 对于“Linode 计划”,选择了 Nanode。 (如果您愿意,可以选择更昂贵的托管选项。)
  1. 对于“根密码”,为您的托管实例设置管理员密码。首次登录实例时,您将使用用户名 root 和您在此处设置的密码登录。
  1. 单击创建。
  1. 确定服务器的 IP 地址。在 Linode 仪表板中,单击左侧的 Linodes。在右侧,您将看到 Nanode 的 IPv4 和 IPv6 地址。复制 IPv4 地址。
  1. 登录您的域名注册商帐户。将新的 DNS 资源记录添加到您的域名的 DNS 设置。 (如果您不确定如何将记录添加到您的域名,请查看注册商网站上的文档。)创建新的 A 类记录。记录的名称是子域名。例如,您可以将其命名为 nextcloud、mycloud 或您喜欢的任何其他名称。 (名称应仅包含小写字母、数字、破折号或下划线,且不得包含空格)。将记录的数据条目设置为您在上一步中记下的 Nanode 的 IP 地址。

配置 Ubuntu,并安装 Nextcloud 服务器

  1. 在您的 Linode 仪表板的左侧,单击 Linodes。在您的新 Nanode 下,单击启动控制台。
  1. 如有必要,请按进入获得登录提示。对于用户,输入 root。对于密码,输入您在创建 Nanode 时配置的 root 密码。
  1. 更新系统。
 apt-get update && apt-get upgrade && apt-get dist-upgrade
笔记

如果系统提示您更新 GRUB 配置,请选择保留当前安装的 GRUB 配置。

  1. 创建一个普通的系统用户,这样您就可以作为 root 以外的其他人登录。运行 adduser 命令。这用户名可以是任何你喜欢的东西(小写字母、数字、破折号和下划线,没有空格)。输入密码,然后再次输入以进行验证。其余信息可以留空。出现提示时,键入 y 并按进入创建用户。
 adduser username
  1. 接下来,运行 usermod 将此用户添加到“sudo”组,这样您就可以在不登录 root 帐户的情况下运行管理员命令。
 usermod -aG sudo username
  1. 您的普通用户现在可以使用 sudo 运行命令。注销根帐户。
 exit
  1. 使用普通用户名和密码再次登录。
  1. 运行以下命令检查 snap 包管理器是否安装,如果没有安装。
 if ! which snap; then sudo apt-get install snapd; fi
  1. 安装 Nextcloud 服务器快照包。出现提示时,输入普通用户的密码。
 sudo snap install nextcloud
  1. 安装 Nextcloud 服务器。对于 newuser 和 newpass,输入 Nextcloud 管理员帐户的新用户名和密码。 (您可以使用这些登录 Nextcloud 客户端应用程序和 Web 门户。)
 sudo nextcloud.manual-install newuser newpass
  1. 将防火墙配置为允许 OpenSSH、HTTP 和 HTTPS 连接,然后启用防火墙。
 sudo ufw allow OpenSSH
 sudo ufw allow 80,443/tcp
 sudo ufw enable
  1. 将您的子域设置为 Nextcloud 可信域。只有对该域名的请求才会收到来自 Nextcloud 的响应。在下一个命令中,将 subdomain.mydomain.com 替换为您的子域名。
 sudo nextcloud.occ config:system:set trusted_domains 1 --value subdomain.mydomain.com
  1. 使用 Let's Encrypt 启用 HTTPS。此步骤会自动为您创建一个 SSL 证书,需要每 90 天更新一次(免费)。
 sudo nextcloud.enable-https lets-encrypt
  1. 验证您是否满足要求,然后键入 y 继续。
  1. 在“输入电子邮件地址”中,输入 Let's Encrypt 可以通知您有关证书更新的电子邮件地址。
  1. 在“输入您的域名”中,输入您的子域名,例如 subdomain.mydomain.com。

您的 Nextcloud 现在正在 Internet 上运行。您可以按照如何使用 Nextcloud 部分中的说明使用它,但不要使用本地 IP 地址,而是使用您的子域名。

如果您在 Web 浏览器中输入您的子域名,您可以使用 Nextcloud 管理员用户名和密码登录 Nextcloud 门户网站。安装 Nextcloud 客户端时,使用您的子域名作为 Nextcloud 服务器地址。

最重要的是,您不需要向浏览器或客户端添加任何信任例外,因为 Let's Encrypt 证书已在受信任的证书颁发机构注册。

Nextcloud 的一般提示

保存大文件

如果您正在处理一个大文件并经常保存它,Nextcloud 可能无法同步它。当您对文件进行更改的速度快于文件上传到服务器的速度时,就会出现此问题。如果您遇到此问题,请等待通知区域中的 Nextcloud 图标变为绿色,然后再次保存文档。或者,右键单击 Nextcloud 图标并选择暂停同步。准备就绪后,右键单击该图标并选择恢复同步以将您的更改上传到 Nextcloud。

解决冲突

如果在两个单独的设备上同时或在一个设备未运行 Nextcloud 客户端时对文件进行更改,则可能会出现冲突。当您尝试同步文件的两个版本时会发生冲突。

如果 Nextcloud 服务器不确定您要保留哪个版本的文件,它将同时保留它们,并在客户端窗口中显示警告。Nextcloud 图标变为带有感叹号的黄色圆圈。

单击黄色消息栏以查看活动日志,并找出哪些文件存在冲突。

冲突文件将被重命名以包含“冲突副本”和日期。您可以打开文件的两个版本并进行比较,以确定要保留哪个版本。

要解决冲突,请将冲突副本移动到 Nextcloud 文件夹之外的位置,例如桌面。或者,如果你确定,你可以删除它。

当您的 Nextcloud 文件夹不包含文件名中包含“冲突副本”的文件时,冲突已解决。如果您的图标没有立即变为绿色,您可以强制进行新的同步,这将重新检查本地 Nextcloud 中的文件。在您的客户端窗口中,单击 Nextcloud 主文件夹右侧带有三个点 (⋯) 的按钮,然后选择立即强制同步。

当图标变回绿色复选标记时,您的文件再次同步。

相关信息

所有类别: 错误修复信息