NextCloud 版本过低使用时间过长,想升级一下。

问题记录及参考文档

本次采用离线升级(在线不能下载)

官网下载https://nextcloud.com/install/#  23.0.0最新版本

升级 NextCloud 之前,首先要考虑备份数据库,除非数据库并不那么重要,可以不用备份数据库。比如我自己使用的 NextCloud 的数据库实际上不是那么的重要。因为现阶段我主要使用的功能是存储文件,PC端也有同步盘,所以只要我的文件还在,没有丢失,数据库实际上并不那么的重要。除非我们的资料文件记录了许多的版本,而且我们重度使用文件版本,就必需备份好数据库。我没有备份数据库的最根本的原因,还是因为懒!并一直认为升级会顺利完成的,存在侥幸的心理。--来自https://www.sgtfz.cn/2020/08/2732.html

停止 httpd

systemctl stop httpd

我没有计划任务所以不用管

有两种升级方式种命令一种页面

命令

sudo -u apache php occ upgrade

升级完成后手动关闭维护模式

php occ maintenance:mode --off

我使用的是页面

2、备份旧版本文件

重命名 nextcloud 目录为 nextcloud-old

3、上传新版本文件

 上传新版 nextcloud 23.0.0 所有文件到服务器 nextcloud 目录。

rm nextcloud-17.0.1.zip

mv nextcloud-23.0.0.zip /home/cloud 我自己的目录

----

mv nextcloud nextcloud-old

chown  -R apache.apache nextcloud

cp -a  nextcloud-old/config/*  nextcloud/config/ 配置恢复

mv nextcloud-old/data nextcloud/  文件恢复

find nextcloud/ -type d -exec chmod 750 {} \;
find nextcloud/ -type f -exec chmod 640 {} \;

权限更新(如果权限是对的不用改)

4、恢复备份文件与应用(参考项)

从备份目录 nextcloud-old 复制配置文件到 nextcloud 对应目录

cp /var/www/html/nextcloud-old/config/config.php /var/www/html/nextcloud/config/

如有安装第三方应用,从备份目录 nextcloud-old 移动第三方应用到 nextcloud 对应目录

mv /var/www/html/nextcloud-old/apps/onlyoffice /var/www/html/nextcloud/apps/

从备份目录 nextcloud-old 移动 data 目录到 nextcloud 对应目录

mv /var/www/html/nextcloud-old/data /var/www/html/nextcloud/

 

5、启动httpd

 

systemctl restart httpd

6、访问页面

然后访问页面报错This version of Nextcloud requires at least PHP 7.3

7、升级php


yum provides php

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
vi /etc/yum.repos.d/remi-php73.repo

启用php73

---引用https://www.cnblogs.com/l-zl/p/13804549.html     @py卡卡

yum -y upgrade php*升级php73
systemctl restart php-fpm

8、页面升级报错

然后升级报不能越版本升级Exception: Updates between multiple major versions and downgrades are unsupp
准备强制升级
nextcloud/lib/private/Updater.php vim编辑
注释掉检查项

230 private function doUpgrade(string $currentVersion, string $installedVersion): void {
231 // Stop update if the update is over several major versions
232 $allowedPreviousVersions = $this->getAllowedPreviousVersions();
233 # if (!$this->isUpgradePossible($installedVersion, $currentVersion, $allowedPreviousVersions)) {
234 # throw new \Exception('Updates between multiple major versions and downgrades are unsupported.');
235 # }
236
237 // Update .htaccess files

然后页面点升级。
升级完成

最新文章

  1. 微软职位内部推荐-Senior Software Engineer_Azure
  2. UIScrollView 实践经验(转)
  3. gpfdist工具的初级使用
  4. Java实现串口通信的小样例
  5. Microsoft Visual C++ Runtime Library Runtime Error解决的方式
  6. isset,empty,is_null小知识
  7. JAVA 注解和反射
  8. 将表格添加到Word文档中 ,包括表格样式设置
  9. LINUX配置Django
  10. Chrome保存整个网页为图片(终极解决方案!)
  11. Oracle11g温习-第十九章:审计(audit)
  12. 深入java final关键字
  13. JetBrains PyCharm 专业版激活
  14. Delphi--最强大的开发工具(欢迎转载)
  15. Hadoop源码阅读-HDFS-day2
  16. Spring MVC 返回类型为字符串时, 返回中文变成"?"处理
  17. SpringBoot 中 @RequestBody的正确使用方法
  18. fiddler抓包https
  19. https ddos检测——研究现状
  20. Image Scaling using Deep Convolutional Neural Networks

热门文章

  1. drf-restful规范、django原生编写接口
  2. 编译OpenCV以及openc_contrib提示缺少boostdesc_bgm.i文件出错的解决
  3. 视觉十四讲:第十二讲_RGB-D稠密点云
  4. 工控领域上云实践-Zstack和软赢
  5. Linux问题--docker启动mysql时提示3306端口被占用(kill不掉3306端口)
  6. JZOJ 1967.【2011集训队出题】聪聪可可
  7. 自己从零写操作系统GrapeOS——1.GrapeOS介绍
  8. ubuntu lnmp环境搭建 LNMP(Ubuntu 20.04 + Nginx + PHP 7.1 + Mysql5.7)
  9. SpringBoot2.6.x及以上版本整合swagger文档
  10. pat 乙级 1025 反转链表