我经常遇到人在外面,但是需要访问家里的文件的情况。原来搭了一个FTP文件服务器,但是感觉还是不够方便。我这个人比较懒,不方便怎么可以行呢?所以就有了这篇博文。
WEBDAV是什么?
自己百度。。。。。
webdav对比ftp有什么好处?
webdav通过http工作,所以有ftp无法提供的http的所有好处。例如:强身份验证,加密,代理支持和缓存等。虽然ftp也可以通过SSH获得一些支持,但http基础框架的部署要比ssh更广泛。再说,ssh没有http所做的各种工具,开发库和应用程序。
另外使用DAV传输(以及HTTP传输)也比FTP更有效。您可以通过单个TCP连接管道多个传输,而FTP需要为每个传输的文件(加上控制连接)来建立新连接。
安装步骤
1、首先在debian系统下安装apache2
1 | apt-get update |
2、创建webdav文件夹,并将chonw设成www-data
1 | mkdir /var/www/webdav |
3、开启webdav的dav功能模块,然后重启apache2
1 | a2enmod dav |
4、编辑/etc/apache2/sites-available/000-default.conf
配置文件
在首行添加
1 | DavLockDB /var/www/DavLock |
在</VirtualHost>
标签前面添加下面的代码:
1 | #设置别名 |
5、配置访问密码
1 | mkdir /var/www/webdavpasswd |
6、重启apache2
1 | systemctl restart apache2 |
访问方法
在任何浏览器里输入IP地址/webdav
就可以访问webdav了。
后记
映射文件
webdav可以在windows里做映射,可以达到跟本地盘访问一样的效果。
由于WIN7以上版本的操作系统微软禁用了http形式的基本WebDAV验证形式,所以需要我们手工来修改一下。
在运行里输入regedit
打开注册表。
修改HKEY_LOCAL_MACHINE
>>SYSTEM
>>CurrentControlSet
>>Services
>>WebClient
>>Parameters
>>BasicAuthLevel
把这个值从1改为2。然后进控制面板,在服务
里,把WebClient
服务重启(没有启动的就启动它).
下载文件大小的问题
在某些版本的 Windows 操作系统中,WebDAV 驱动器的最大文件大小被限制为 50MB。如果你试图复制超过 50MB 大小的文件,Windows 就会弹出错误提示框。当然,这个限制是可以通过修改注册表来消除的。将注册表中位于HKEY_LOCAL_MACHINE
>>SYSTEM
>>CurrentControlSet
>>Services
>>WebClient
>>Parameters
>>FileSizeLimitInBytes
处的键值由 50,000,000 (50MB) 修改为更大的数值。最大修改为:4294967295(0xffffffff)字节,即4G。不过我好像没有遇到这个问题,这个方法有没有用就不知道了。