webdav走的是http协议,
nginx和apache都可以作为webdav服务器,
win可以直接映射网络盘,支持文件读写和锁定。
linux下装davfs2软件包后, 可以直接mount -t davfs https://xxxxxx.com/upload /mnt 这样进行mount
apache2下的配置文件在目录内增加:
Dav On
php_admin_value engine off
AllowOverride None
Order Allow,Deny
Allow from all
AuthType Digest
AuthName bjlx.org.cn
AuthUserFile "/etc/apache2/user.passwd"
AuthDigestProvider file
Options Indexes
文件和目录权限:
默认用webdav上传的文件和目录的用户名和组名都是www-data, 权限是755, 这样如果与samba共用目录,就会不能在samba删除
可以设置apache2的环境变量umask , 让apache2生成文件为777, 修改/etc/apache2/envvars 在最后面添加 umask 000, 就可以了。
还可以对webdav的最上级目录设置s属性, 让新建的文件和目录集成最上级目录的用户名和组名:
chmod ug+s /home/webdav
chown nobody:www-data /home/webdav
user.passwd用apache的htdigest程序来更新。我写了一个php的程序, 可以完成htdigest的功能, 方便大家集成到自己的系统中。