两个月前我就发现nextcloud的应用商店和更新有问题,今天抽空解决了一下
cd到nextcloud根目录,并进入updater执行指令
cd /www/wwwroot/NextCloud/updater
sudo -u www php updater.phar
在ssh中更新发现报错ssl问题
百度查得ca证书问题
https://blog.csdn.net/sinat_35162715/article/details/105880979
下载离线证书 ,用宝塔上传到/etc/ssl/certs/ ,将原来的ca-certificates.crt重命名,新下载的cacert.pem重命名为ca-certificates.crt(或者将宝塔面板php配置文件里的两处ca-certificates.crt更改为cacert.pem),重载php配置。
回到终端重新执行
sudo -u www php updater.phar
未报错,按Y正常下载更新
下载完成后一路按Y
发现报错:PHP Warning: system() has been disabled for security reasons in phar:///www/.....
原因:php配置中将system函数禁用了,导致无法在终端更新
如果以后需要在终端里升级,则需要将system函数从名单中删除
这次肯定没办法在终端继续更新了,只能在web中继续更新(忘了截图...所以我又更新了一次哎嘿)
维护模式
关闭维护模式(需要到nextcloud根目录)
cd /www/wwwroot/NextCloud/
sudo -u www php occ maintenance:mode --off
更新完成后应用商店与软件更新全部正常。
欧耶
2022年2月19日,将树莓派从debian10带数据更新到debian11,在更新nextcloud时再次发现此问题,检查后发现debian在升级时更改了证书,按以上记录操作后未发现问题,基本确认是证书问题。这里提一嘴,很感谢当时的自己放弃了树莓派的数据将系统从32位更换到64位,等运行到现在再更换,这工作量我会裂成两半的。
服务器已经重装啦,晚点记录NextCloud的迁移过程及注意事项。