如何手动升级NextCloud版本?
- By : Will
- Category : Cloud storage
Cloud storage
1 前言
一个问题,一篇文章,一出故事。
笔者最近需要测试升级NextCloud,于是整理此文。
另外,如果你没有NextCloud环境部署,可以参阅以下链接,
2 最佳实践
2.1 准备工作
2.1.1 迁移数据目录
2.1.2 配置代理(可选)
注:如果服务器可以直接与Internet通讯则无需设置代理
2.1.3 准备升级包
笔者建议你根据以下页面的提示下载需要升级的兼容软件包,
https://nextcloud.cmdschool.org/index.php/settings/admin/overview
获取到软件包的路径后,你可以使用如下命令手动下载软件包,
cd ~ wget https://download.nextcloud.com/server/releases/nextcloud-25.0.4.zip unzip nextcloud-25.0.4.zip
2.1.4 切换到维护模式
sudo -u apache /usr/bin/php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:mode --on
2.1.5 备份NextCloud数据
rsync -av --delete /data/nextcloud-data/ /data/backup/nextcloud/nextcloud-data/ mysqldump -uroot -p --all-database > /data/dbbackup/nextcloud/nextcloud-`date "+%Y%m%d"`.sql
2.1.7 备份原代码
mv /var/www/nextcloud /var/www/nextcloud-save
2.2 部署软件包
2.2.1 部署新的源代码
cd ~ mv nextcloud /var/www/ chown apache:apache -R /var/www/nextcloud chmod 770 -R /var/www/nextcloud
2.2.2 恢复配置文件
cp -a /var/www/nextcloud-save/config/config.php /var/www/nextcloud/config/config.php
2.2.3 恢复APP
ls /var/www/nextcloud/apps/ > ~/nextcloud-apps-new.txt ls /var/www/nextcloud-save/apps/ > ~/nextcloud-apps-old.txt nextcloudNewDir='/var/www/nextcloud' nextcloudOldDir='/var/www/nextcloud-save' nextcloudNewApps='/root/nextcloud-apps-new.txt' nextcloudOldApps='/root/nextcloud-apps-old.txt' for i in `diff "$nextcloudNewApps" "$nextcloudOldApps" | grep '^>' | sed 's/> //g'`; do appName="$i" rsync -avP "$nextcloudOldDir"'/apps/'"$appName"'/' "$nextcloudNewDir"'/apps/'"$appName"'/' done
注:以上脚本对比新旧版本的APP,然后把旧版本中的APP复制到新版本的APP目录
2.3 执行升级
2.3.1 退出维护模式
sudo -u apache /usr/bin/php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:mode --off
2.3.2 执行升级
sudo -u apache /usr/bin/php --define apc.enable_cli=1 /var/www/nextcloud/occ upgrade
2.3.3 单独执行APP升级(可选)
sudo -u apache /usr/bin/php --define apc.enable_cli=1 /var/www/nextcloud/occ app:update --all
注:如果前一个步骤由于没有网络跳过APP升级则使用如上命令
2.3.4 处理兼容性提示
笔者建议你升级完成后,查看如下页面的提示,
https://nextcloud.cmdschool.org/index.php/settings/admin/overview
注:根据具体的提示信息处理即可
没有评论