基于nextcloud搭建个人网盘

docker

使用docker搭建较为方便

docker run -d -p 80:80 --name nc nextcloud

然后就可以在浏览器访问了

如果希望将文件目录挂载到宿主机,可以加上 -v your-local-dir:/var/www/html/data 但是data目录并非只是文件存储的目录,其内容如下:

也就是说它其实会根据账户创建对应的文件目录,真正的文件是在该用户目录下的files目录下。但由于不确定后续会创建多少用户,故此处将整个data目录都挂载下来。

WebDAV

nextcloud支持WebDAV协议,该协议的一个好处就是可以将网盘像本地硬盘一样挂载到文件系统

先进入nextcloud的设置,找到WebDAV的url

在文件管理器中,鼠标右键点击此电脑——>映射网络驱动器

输入刚才复制的url,点击完成,稍等一会会弹出账号密码输入框,登录即可

然后就能看到该网盘,可以像在本地操作一样对其进行操作

注意事项

注1:需开启 webclient 服务才能使用WebDAV协议,否则无法连接网盘

开启方法:

使用管理员权限打开命令提示符窗口,输入:net start webclient

注2:windows10默认不支持http协议的WebDAV,否则也会出现无法连接的情况。修改注册表即可

然后重启一下webclient,再次尝试连接即可

文件大小限制

使用webdav复制文件出现如下错误

解决方案:

修改注册表:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

其默认值为:50000000

Android

如果开启了反向代理,并且反向代理使用了https,则安卓客户端是登录不了的。会一直提示 “Strict mode: no HTTP connection allowed!”

解决办法:

在 nextcloud容器中的 config.php 文件下加入 'overwriteprotocol' => 'https'

具体操作:

将nextcloud容器中的config.php文件复制到本地进行修改

sudo docker cp wp:/var/www/html/config/config.php ./
# 需要赋予读写权限,否则可能复制回去导致nextcloud服务异常
chmod 777 config.php

在最下面加入上述配置

再将文件复制回去,重启nextcloud即可

sudo docker cp ./config.php wp:/var/www/html/config/
sudo docer restart wp

Leave a Comment