为Web服务器设置WebDAV服务
2013-03-06 15:22:56 阿炯

本站赞助商链接,请多关照。 WebDAV为我们提供像Samba一样网络共享的,当然也提供有像ftp或samba一样可通过命令行操作的工具。同时它也支持文件系统锁机制这样高级的操作方法,值得称道的是它可能通过http服务器来提供,配置相对简单,下面就介绍在现行主流的开源Web服务器的配置过程,及其简单使用。

操作系统环境为:Debian 6

1、Apache+WebDAV
1)、安装好apache2后,开启WebDAV模块:
a2enmod dav_fs
a2enmod dav

Reload Apache:
/etc/init.d/apache2 force-reload

这样davfs在apache中便生效了。

2)、在虚拟主机中创建WebDAV
<VirtualHost *:8080>
 ServerAdmin webmaster@localhost
 DocumentRoot /var/www
 <Directory />
  Options FollowSymLinks
  AllowOverride None
 </Directory>
 Alias /webdav /var/www/freeoa/webdav
 <Location /webdav>
  DAV On
  AuthType Basic
  AuthName "webdav"
  AuthUserFile /var/www/freeoa/.webdav.paswd
  Require valid-user
 </Location>
</VirtualHost>

为其创建验证用户
# htpasswd -c /var/www/freeoa/.webdav.paswd webdav

安全起见,为其设置好权限:
# chown root:www-data /var/www/freeoa/.webdav.paswd
# chmod 640 /var/www/freeoa/.webdav.paswd

重置apache:
# /etc/init.d/apache2 reload

我们来安装cadaver,来验证其是否安装成功。

# apt-get install cadaver

# cadaver http://localhost/webdav/

正常的话它会提示输入用户名及密码,登录后可以键入'help'查看有哪些指令操作。

3)、开启锁机制
它的主要目的是防止同一文件在同一时间被多个用户编辑修改,意在保证文件的完整性和排它写。

# a2enmod dav_lock

位于'mods-enabled/dav_fs.conf'文件中:
DAVLockDB ${APACHE_LOCK_DIR}/DAVLock

'${APACHE_LOCK_DIR}'默认在目录:'/var/lock/apache2/'。

By default, Apache2 allows a WebDAV client to set the file lock time. Many WebDAV clients, for example, impose a file lock time of 2 minutes. A longer lock time can optionally be imposed by the WebDAV server by adding an additional line:
DAVMinTimeout 5

(The default is DAVMinTimeout 0, which indicates that no minimum file lock time is imposed by the server and it is left up to the individual WebDAV clients).

可以修改或加入最小的超时时间,单位为分钟。

重置apache服务器后生效。


2、Nginx+WebDAV

待续......