设置自己的Nextcloud实例以脱离Google

2020-12-20 06:56:58

我2020年的目标之一是停止使用Google产品。原因很多,但这不是本文的重点。我上个月发现了有关Nextcloud的信息,事实证明它是许多Google的理想替代品。我实际上并未使用它的所有功能,但是我已经迁移了日历,提醒,联系人,书签,视频通话,照片和新闻提要,到目前为止,我真的很满意。

有很多公司将为您托管Nextcloud,您只需像其他任何方式一样注册一个帐户,但是如果您有兴趣为自己托管Nextcloud,那么这篇文章基本上是我做事的脑筋那。我花了一些时间将所有所需的所有内容整理在一起,以使所有内容都能从头到尾工作,所以我希望这可以使其他人不必这样做。如果您已经知道绕过服务器和Nextcloud的方式,则可以像清单一样略过标题,以确保您不会忘记重要的一步。但是,如果您希望简要概述我执行的实际步骤和运行的命令,则每个部分都包含这些详细信息。到最后,您将看到我如何在自己的服务器上安装Nextcloud,对其进行保护,设置备份以及为照片设置外部存储。

有些部分是从其他部分指南或更长的博客文章中拼凑而成的,因此在相关的地方引用也指向那些来源。这篇文章只是一些基本步骤的快速入门。 <尖括号>中的任何内容被替换。所以我实际运行的命令是adduser kira,而不是adduser< name>。

与您的云提供商一起启动新服务器。我使用的是nanode,这是Linode提供的最小的服务器,具有1GB的RAM和25GB的存储空间,这比Nextcloud的最低规格要高得多。

选择可以安装快照程序包的操作系统。我正在使用Ubuntu 20.04(LTS)。 Nextcloud建议至少使用Ubuntu 18.04 LTS或Red Hat Enterprise Linux 7。

将ssh密钥添加到服务器。应该有一种方法可以通过管理新服务器的UI来完成。

1.1以root用户身份进入您的服务器,并让自己成为也可以进入计算机的新sudo用户1

关闭此ssh会话,然后以新用户身份登录以确保其正常工作:

将此ssh会话保持打开状态。除非另有说明,否则以下其余命令将在您的服务器上运行。

应该在您的服务器的“管理”部分中提供一种方法。在Linode上有一个" Domains"管理员菜单的左侧部分。在这里,我单击了“添加域”。在右上角,然后填写域名,我的电子邮件地址,并选择"从我的Linodes中插入默认记录"从"插入默认值记录"中下拉菜单,然后从Linodes列表中选择了新的Nextcloud服务器。步骤可能会略有不同,具体取决于您所使用的云服务器提供商。最后,您需要将您的域名指向您的Nextcloud服务器的DNS记录。如果您是通过Linode(或您使用的任何方式)完成此操作的,则还需要使用您的域registar更新名称服务器。

5.设置您的域,启用https,并从let加密安装自动更新证书

使用上面选择的用户名和密码登录到您配置的域中的新个人云,然后安装2FA应用。单击Nextcloud仪表板右上角的首字母,然后选择" Apps"。

在左侧栏中,点击" Security&#34 ;,然后搜索“两因素TOTP提供商”。应用程式

使用此新安装的应用程序设置2FA在左侧栏中,点击" Security" (在“个人”部分中),然后选中“启用TOTP”。框并按照说明设置2FA

在安装Nextcloud和尝试首次登录之间,我设法忘记了密码。如果您遇到这种情况,可以通过运行sudo nextcloud.occ user:resetpassword< username>来重置它。

为第一层备份启用整个服务器的备份。我在设置Linode时执行了此操作(“可选附件”部分中有一个复选框)。否则,将有一个备份。标签在“管理”部分中,您可以在其中打开它们。 Linode为此收取2美元/月。

获取Backblaze cli并进行配置从您刚创建的用于授权Backblaze cli的应用程序密钥中复制密钥秘密

为了安全起见,创建一个新用户来运行备份并禁用其密码访问2

sudo vim /usr/sbin/ncbackup.sh并将以下备份脚本的内容复制到新文件中,或者编写自己的文件来完成相同的工作:***

#!/ bin / bashset -eDATE = $(date' +%Y-%m-%d')#输出到logfileexec& /home/ncbackup/backups/logs/${DATE}.txt#从Nextcloudecho导出所有配置和数据"开始Nextcloud导出..." nextcloud.exportecho"导出完成" #压缩备份的文件夹echo" Compressing backup ..." tar -zcf /home/ncbackup/backups/${DATE}.tar.gz -C / var / snap / nextcloud / common / backups /。回声" Nextcloud备份成功压缩到/ home / ncbackup / backups"#删除未压缩的备份数据rm -rf / var / snap / nextcloud / common / backups / *#删除5天以上的备份和日志回声&#34 ;删除5天之前的备份..."查找/ home / ncbackup / backups -type f -mtime +5 -deletefind / home / ncbackup / backups / logs -type f -mtime +5 -delete#保留14 backblazeecho中的备份天数"正在上传到backblaze ... b2同步--keepDays 14 --replaceNewer / home / ncbackup / backups b2://< your-bucket-name> echo&#34 ; Nextcloud备份成功完成"

0 2 * * * sudo /usr/sbin/ncbackup.sh&& curl -fsS -m 10-重试5 -o / dev / null< your-ping-url>

这将每天凌晨2点(在服务器所在的时区,可能是UTC)运行一次备份,但是您可以设置所需的任何时间和频率,只记得更新健康检查以使其匹配。

备份仅在可以使用它们还原数据时才有用。确保需要您的工作。

要测试整个服务器的备份,您可以尝试使用Linode(或任何人)UI还原整个服务器。测试我们上传到Backblaze的存档备份要花些时间,但是您很高兴知道自己在需要时如何做。

重复步骤1-5,除了您可以只更新已经设置为指向新服务器IP地址的域的记录。

将备份复制到新服务器上。在计算机的终端中运行此命令(而不是在与远程服务器的ssh会话中):

将备份解压缩,重命名,然后将其移动到Nextcloud快照安装将能够访问它的位置,然后将root用户设为所有者

这应该是还原Nextcloud安装所需的全部。 DNS记录可能需要一段时间才能传播,因此,如果您要测试还原的云是否正在正常运行,如果将其添加到受信任域列表中,则可以直接在其IP地址处对其进行检查:

请注意,这仅可通过http使用,因此当您直接访问ip地址时,可能会收到关于安全性的强烈警告。要在满意的情况下从受信任域的列表中删除IP地址,请运行:

尚不清楚服务器对环境的影响到底是什么,但不会一无是处。您可以大致了解使用此类工具将服务器释放多少CO 2。然后,您可以从著名的碳补偿供应商那里购买碳补偿,例如Less。我每年花费$ 10来抵消半吨的CO 2。

我知道碳补偿是一个漫长而复杂的话题,计算基础架构对环境的影响已经远远超过了CO 2排放,但要注意的是,在计算机上进行所有这些操作可能会对现实世界和环境产生负面影响。至少尝试在可能的地方尽量减少它们,并在可能的地方减少它们。

转到"设置"然后,在“管理”下在左侧栏中(不在“个人”下),单击“外部存储”。

输入新文件夹的名称*,然后选择" Amazon S3"从"添加存储空间"下拉菜单,然后填写您的Backblaze存储桶和帐户的详细信息

如果您像我一样选择最便宜的Linode服务器,它并没有太多存储空间,并且取决于您拥有多少数据以及要在服务器上保留多少备份,您可能会耗尽存储空间很快。有一个名为“配额警告”的应用程序在监控类别中,如果您接近服务器的存储限制,则可以进行安装以获取通知。您可以在"其他设置"中配置通知您的时间和方式。安装之后。

就是这样!我希望这可以帮助某人避免花费大量时间搜索文档,博客文章和过时的论坛。祝好运!