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
然后頁面點升級。
升級完成