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
然后页面点升级。
升级完成
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。