本方法适用于Nextcloud部署在国内服务器的情况,由于某些原因,国内服务器从Nextcloud官网的下载速度慢(kb级),有时候更是无法连接,导致每次升级都要花费很长时间,甚至无法升级,经过仔细研究,终于找到可以快速升级的方法:跳过一些步骤进行直接升级。
如果主机可以扶墙,建议从后台直接更新,若没有梯子,请继续往下看。
0x01 准备工作
进入“设置→概览”检查是否有新版本,如果有则开始准备手动升级。
如果本地电脑可以扶墙,建议将新版本下载到本地,没有梯子的朋友先阅读Nextcloud资源分享及客户端安装方法,这里可以下载最新版本的资源包。
0x02 上传更新文件
1、打开config/config.php文件,找到instanceid和datadirectory的值,<datadirectory>默认是站点根目录下的data,然后在该目录中:
- 创建updater-<instanceid>/downloads文件夹
- 创建updater-<instanceid>/.step文件,或将默认的.step-previous-update修改为.step
2、将下载的升级包上传至updater-<instanceid>/downloads文件夹中,然后解压。
3、根据站点平台修改updater-<instanceid>及子目录的所属用户(apache/nginx等)。
0x03 修改控制文件
修改updater-${instanceid}/.step文件,它控制着升级步骤,我们跳过权限检查、下载、验证、解压过程:
{"state":"end","step":6}
这样就可以直接从第7步(Enable maintenance mode)开始。
附加知识
.step文件说明:
- “state”状态:start、end
- “step”状态:0-12
升级后,可能会遇到一些问题,比如:
# 通过Web升级时出现异常 # 通过occ工具升级 cd nextcloud sudo -u apache ./occ upgrade # 一直处于维护模式 # 手动关闭维护模式 sudo -u apache php occ maintenance:mode --off
原创文章禁止转载:技术学堂 » Nextcloud自定义快速升级方法