将ubuntu设置为NAS——7. 私人网盘nextcloud升级

2019-11-17 14:25:59 12点赞 74收藏 8评论

前言的前言

想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了6篇

将ubuntu设置为NAS——1. Transmission-daemon安装前言之前看大妈这边的文章先是入手了一台暴风酷播云,然后折腾着又入手了一台C单的蜗牛星际主机,尝试了许多不同的系统,安装过黑群晖,u-nas,OpenMediaVault(OMV),windows10系统,windowsserver2019,ubuntu,deepin,这些一路折腾一下,算是涨了些知识杨某人| 18 评论9 收藏121查看详情将ubuntu设置为NAS——2. 新增硬盘挂载前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了一篇《将ubuntu设置为NAS——1.Transmission-daemon安装》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘杨某人| 12 评论7 收藏101查看详情将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了2篇《将ubuntu设置为NAS——1.Transmission-daemon安装》《将ubuntu设置为NAS——2.新增硬盘挂载》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J杨某人| 10 评论12 收藏89查看详情将ubuntu设置为NAS——3. 私人网盘nextcloud安装(中)前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了2篇《将ubuntu设置为NAS——1.Transmission-daemon安装》《将ubuntu设置为NAS——2.新增硬盘挂载》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J杨某人| 57 评论45 收藏635查看详情将ubuntu设置为NAS——5. docker与docker-compose的安装前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前已写了4篇,欢迎参看打赏。我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据杨某人| 60 评论67 收藏925查看详情将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了5篇我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据线直接接硬盘的方式杨某人| 50 评论25 收藏816查看详情

我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据线直接接硬盘的方式。软件层面主要是用Kubuntu18.04系统(ubuntu其他风味版,和原版功能上没有太大区别),安装了Transmission-daemon用于下载,nextcloud用于网络硬盘,kvm作为虚拟机开软路由,还有其他一些简单功能,基本实现NAS的作用。后面我将慢慢分享其中的过程,作为小白,很多都是自己参考网上根据其他作者文章,再自己摸索实践出来,如有谬误,请各位指正,大家共同学习。后面涉及的命令行都是在ubuntu终端(不要问我终端是什么 )中输入,请大家注意。

正式的前言

Nextcloud软件版本更新还是比较频繁,虽然使用旧版也一般不会遇到太大的问题,但抱着更愿意使用新版本,新版本性能或功能会更强的想法,还是升级一下新版。如何升级呢?重装?如果一出新版软件,我们就重新安装一遍,这样很不利于数据的安全。虽然重要数据一般我会以外部存储方式处理(此方法中篇已经介绍),但总该有保证全部数据安全的方式进行升级的方案吧。一个重要的建议和提示:升级操作前,请对重要数据进行备份!!!

1、Nextcloud自带升级方式

其实软件本身是再带升级功能的。

nextcloud再带升级功能nextcloud再带升级功能

打开更新器就可以了。但是由于众所周知的原因,其实这个方式在国内基本无法完成,或者速度完全不行,自己有梯子的可以尝试。这种方式应该是最便利了,可惜了。

2、手动升级

从设置界面可以看到目前我的版本是16.0.4,而从官网,可以看到目前最新是17.0.1,文章中是之前写,部分截图是17.0.0版。

2.1 下载最新版Nextcloud

下载地址

建议采用迅雷下载。可以直接下载到Nextcloud服务主机(ubuntu桌面版),或者自己使用的桌面电脑(win10)。

2.2 备份数据

建议备份原nextcloud文件的config、data文件,(如果你改过主题目录还有theme目录),config、data和theme目录都在nextcloud目录下,比如按照我方案的话在目录/var/www/html/nextcloud下面

将ubuntu设置为NAS——7. 私人网盘nextcloud升级


复制几个文件夹到需要备份文件夹位置

sudo cp /var/www/html/nextcloud/config /home/yang/ -Rf
sudo cp /var/www/html/nextcloud/data /home/yang/ -Rf
sudo cp /var/www/html/nextcloud/theme /home/yang/ -Rf


数据库之前我用的MySQL/MariaDB,也需要备份一下

mysqldump --single-transaction -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

username换成nextcloud,password换成你设置的密码,db_name换成你设置的数据库名,记得去掉[ ],然后进入到你有权限且需要存储的目录,比如/home目录。

以前截图,大家作为参考,按照之前分享文章对应的名称和图片不一样以前截图,大家作为参考,按照之前分享文章对应的名称和图片不一样

可以通过ls命令查看备份好的文件。

数据库备份文件数据库备份文件

2.3 覆盖Nextcloud目录

由于nextcloud目录权限用户我们设置为www-data,所以我们无法用当前用户或root用户修改nextcloud目录。首先修改用户权限,再cd进入目录。

sudo chown yang /var/www/html/nextcloud -Rf //这里的yang是我的当前用户,请修改成你的用户名
cd /var/www/html/nextcloud

先删除除了config、data和theme目录以外的全部文件。建议使用删除的方法,如果直接覆盖,会出现文件没有通过完整性检查的错误。可以rm命令,或者ubuntu桌面版方式选择删除,或者SFTP登入删除。

然后直接解压缩下载的nextcloud文件,用sftp上传到/var/www/html/nextcloud。SFTP我用的WinSCP软件,安装后输入服务主机网址,账号,密码,端口默认是22,就能直接登陆,看到Nextcloud服务主机目录结构,然后上传到对应目录,覆盖同名文件就好。当然我们用桌面版的Ubuntu,也可以直接在里面操作,鼠标复制粘贴,也很简单。

SFTP 上传文件SFTP 上传文件


改回Nextcloud目录权限

sudo chown www-data /var/www/html/nextcloud -Rf

2.4 重启服务

sudo service apache2 restart

开始升级

sudo -u www-data php occ upgrade


升级界面升级界面

或者是这样的

升级界面升级界面

3、重新进入Nextcloud

再次进入Nextcloud网站,发现之前设置的都没有变化,升级前上传的文件也都还在。

重新进入Nextcloud重新进入Nextcloud

在看一下目前版本和告警信息。

之前升级17.0.0的界面之前升级17.0.0的界面

已经显示是17.0.0版本(目前最新是17.0.1),升级成功。存在的警告是之前就有的,是由于没有使用SSL证书,这个不影响使用。有时间申请了域名,再弄这个这个证书吧。

当然如果你是直接覆盖的话,会出现下图的错误。

可能存在的错误可能存在的错误

一些文件没有通过完整性检查。了解如何解决该问题请查看我们的文档。(无效文件列表… / 重新扫描…)

这个只要找出点击无效文件列表,根据列表文件名,一个一个去删除,再重新扫描也能解决。不过可能文件太多,比较麻烦,建议直接按上面删除后再复制的方法,不用覆盖的文件方式操作。

4、docker安装下的nextcloud升级

之前上篇《将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)》,docker下安装的方法,我是将nextcloud相关文件夹挂载在docker外部文件夹(/docker/nextcloud目录),数据库(/docker/nextcloud/db目录),首先备份这2个文件夹相关的config、data文件夹和db文件夹。

这里我以17.0.0升级到17.0.1为例。

Nextcloud 17.0.0Nextcloud 17.0.0

在旧版nextcloud上传文件作为见证在旧版nextcloud上传文件作为见证

首先停止运行中容器,再进入docker-compose.yml中设置挂载在/docker/nextcloud

docker-compose stop

cd /docker/nextcloud

删除文件夹中除了data,db以外的文件(如果修改过config文件中config.php,请备份一下),切记先进入/docker/nextcloud正确的目录,再执行,防止删错了文件(血泪教训)

sudo cp /docker/nextcloud/config/config.php /home/yang/桌面

sudo rm -R !(data|db)

重新回到原来docker-compose.yml所在文件夹,或者按上篇介绍的重新编写docker-compose.yml,在它文件夹下运行用以下命令

cd /home/yang/桌面

docker-compose rm //需要按Y确认

docker-compose up -d

sudo cp /home/yang/桌面/config.php /docker/nextcloud/config

之后再打开对应nextcloud所在网址,查看设置就能看到升级成功,原来的图片文件还在。docker-compose.yml文件设置不用修改,由于设置拉取镜像都是拉取最新版,所以可以自动升级,也可以采用以下代码,手动拉取最新版本,再up。

cd /home/yang/桌面

docker-compose rm //需要按Y确认

docker-compose pull

docker-compose up -d

sudo cp /home/yang/桌面/config.php /docker/nextcloud/config

升级到最新版升级到最新版

原来图片文件还在原来图片文件还在

总结

本篇介绍了升级Nextcloud的方法,建议备份重要文件后再操作。当然你可能发现前面备份操作,其实后面没有用到,但以防万一吧。如果你重要数据都采用连接外部存储的方式,只要再升级后重新挂载,数据安全完全不用担心,之前有值友讨论中提到数据备份迁入迁出的问题,其实用外部存储的方式,完全不用担心,也能解决原来data文件夹数据盘空间的问题。

本篇在写docker下升级时,用官方介绍的方案,遇到了问题,升级后提示Internal Server Error无法打开nextcloud,研究很多天,终于发现得把挂载主机目录文件删除后(可保留data和db),再移除相关容器才行,尤其config文件夹也要删除,所以里面提到了备份config.php文件,因为可能之前我们修改过的。所以大家如果也遇到相同问题,可以参照我的操作方案,当然如果您有更好的方法,也请不吝赐教。

参考资料

官方文档:https://docs.nextcloud.com/server/17/admin_manual/maintenance/upgrade.html

官方docker文档:https://github.com/nextcloud/docker



展开 收起
8评论

  • 精彩
  • 最新
  • 这玩意要https,觉得麻烦。放弃了,用过几天,个人觉得不太好用。

    校验提示文案

    提交
    可以不用https,浏览器访问跳过即可。用的话,感觉和百度云也差别不大,看个人习惯吧。不过各种网盘感觉使用上都差不多

    校验提示文案

    提交
    收起所有回复
  • 我迁移的时候也碰到内部错误了 [不高兴] 按你这个方法看看。现在折腾迁移的办法。现在网上的教程绝大多数都是搭建,少量优化,完全没有备份迁移的 [大囧] 碎银子全部打赏了。回头再来交流

    校验提示文案

    提交
    迁移需要修改apache2的设置信息,建议使用linux面板进行设置,我头一次手动设置调了好几个文件才成功,后来用面板一次就行了 [喜极而泣] 我现在用的ubuntu server +webmin +apache2+php7.0+mysql ,myadmin省掉了,面板能代替myadmin [脸红]

    校验提示文案

    提交
    docker搞清楚权限,就弄好了。docker确实方便很多

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 有个问题,就是只能下载10M以内的文件,上传不限制,怎么解决?

    校验提示文案

    提交
  • /nextcloud/config 这里设置文件里看看有没有相关设置,我用上篇docker-compose文件安装没有这个限制

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
74
扫一下,分享更方便,购买更轻松