使用 Apache 简单搭建 webdav 文件共享服务器
我经常遇到人在外面,但是需要访问家里的文件的情况。原来搭了一个 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。不过我好像没有遇到这个问题,这个方法有没有用就不知道了。