这几天发现树莓派上的owncloud-client登录不上了,退出登录后再登录,在输入完密码账户后,最后那一步总是提示”Error transferring …/remote.php/webdav/ server replied: Forbidden”。
如下图:
一个月前应该都是用过的,而且win和手机的客户端端每天都在用,所以排除服务器故障。因为采用最小权限原则,树莓派上用的是一个单独账户,期初还怀疑账户权限问题,然而web登录正常,所以记起大约半个月前,owncloud和nextcloud同时更新过版本号。那大概是兼容性问题!因为树莓派的包大抵都很老,而且是armhf,可能是版本过低的缘故。
目前我的cross-build环境还没搭起来,所以只能找一下原因了。
调查
先看一下web界面左下角设置里面提供的WebDAV地址,https://1.1.1.1/remote.php/dav/files/admin/
,咦,好像哪里不对! remote.php
后面接的路径不对!
于是乎先找changelog,找了owncloud官方 server changelog 和 client changelog,搜webdav,果然看到Switch to new ownCloud server WebDAV endpoint
和Switch Webdav URL in field in navigation panel to the new endpoint
的字样。
然后在github的owncloud/client里面release下载了2.2.4和2.5.0的源码,随便搜了一下。
|
说明确实2.2.4的时候没有支持新的URL。不过对服务端源码10.0.9和10.0.10代码分析时没有找到问题关键所在,没有确定是哪一版本的服务端开始不支持remote.php/webdav/的。
解决
找了下,找到一个如何编译树莓派的owncloud-client
附:
为啥用的owncloud?因为它兼容性好,比如在IE8上面可以正常登录,不乱码。 其实Nextcloud和Seafile我都是一起跑着的。感觉上速度最快的是seafile。而Nextcloud特性比较多,比如rss源,然后手机上可以用客户端当做新闻阅读器,还有Nextcloud Talk等,因为我把能启用的插件都启用了,所以感觉上web ui速度比较慢,一般也就只当做下载器/新闻阅读器用了,存储都放到了简单稳定的owncloud了。而且owncloud也支持Nextcloud的office,均能在线编辑office文档,所以作为存储和办公来说,owncloud刚刚好。Nextcloud适合娱乐用。Seafile主要是账户设备数量限制,所以我基本上啥都不想存进去。