NextCloud 17.0.1 升級到NextCloud 23.0.0


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

 

 

 

然后頁面點升級。
升級完成




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM