如何在Apache上配置和启用Web DAV

时间:2020-03-05 15:24:19  来源:igfitidea点击:

WebDAV代表'基于Web的分布式创作和版本控制'。
通常,HTTP协议为Internet用户提供Web文件上的读取访问。
因此,任何人都将能够读/执行文件,但将无法写入底层的Web文件。
WebDAV模块是HTTP协议的扩展,允许用户编辑Web文件。
因此,它可以用作远程软件开发团队的支持工具,其中多个用户可以通过Internet同时管理和修改远程文件。

通过使用Apache模块Mod_dav,促进了WebDAV功能。

可以使用以下步骤在Apache中启用WebDAV。

1.安装Web_DAV模块

对于较旧的Apache VersionsApache 1.3.x

我们可以在Apache上动态编译模块Mod_dav。
我们可以从http://www.webdav.org/mod_dav/获取来源。
下载压缩源文件并提取它。
我们可以使用以下步骤编译它。

$./configure
$make
$make install

继续前进到Apache模块目录(可能/usr/local/apache/libexec)并验证libdav.so模块。
是的,我们已经完成了安装部分。

对于Apache 2.x版本

对于这些版本,Mod_DAV模块可在Apache安装包本身中使用。
我们需要在"./configure"中使用-enable-dav选项重新编译Apache

2.在Apache上加载已安装的模块

  • 如果模块在Apache上静态编译,则使用命令"httpd -l",我们将能够看到已加载的mod_dav模块

  • 如果模块在步骤1.a中动态编译,则需要使用Apache配置文件中的"LoadModule"指令加载模块,可能是/usr/local/apache/conf/httpd.conf

LoadModule dav_module libexec/libdav.so

3.配置DAV指令

以下是启用WebDAV的强制性配置。

  • 为所需目录启用DAV

为此,我们只需要在<directory>或者<location>指令中添加以下行。

DAV On

如果DAV指令在<目录>指令中,则将启用DAV,以查询该特定目录及其子目录。
对于<location>指令,然后将为URL命名空间的该部分启用DAV。

  • 指定锁定数据库

需要锁定以确保并发控制。
我们应该使用"davlockdb"指令(在<directory>或者<location> containers之外或者<divelardhost>容器中)提到应该创建锁定文件的目录,并且还需要由mod_dav使用文件名。
该目录应存在,也应该是Apache进程的写入。

DAVLockDB /usr/local/apache/var/DAVLock

mod_dav模块将在需要时在"/usr/local/apache/var"中创建锁定文件,并在需要文件名前缀'davlock'时创建锁定文件。

  • 指定锁定超时最小值(可选)

指令"davmintimeout"指定锁的最小生命周期以秒为单位,可以在<directory>/<location>指令之外或者内部给出。

DAVMinTimeout 600

4.创建和授权WebDAV目录

我们应该创建WebDAV目录,并确保它是由Apache进程写的(将目录的所有权更改为用户运行Apache)。

mkdir /home/www/webdav

出于安全目的,我们需要授权用户使用WebDAV目录,并应应用访问控制。
这可以如下完成。

  • 创建密码文件以授权用户
htpasswd –c /home/www/webdav/.DAVlogin webdav

这将使用户"webdav"启用

  • 需要使用<limit>或者<limitexcept>指令提供访问控制。
    对于<限制>指令,我们需要明确提及所有需要保护的方法。
    对于<limitexcept>,我们可以限制除列出的方法之外的所有方法。

最后,示例配置可能如下所示。

DAVLockDB /usr/local/apache/var/DAVLock
DAVMinTimeout 600
<Location /webdav>
DAV On
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/www/webdav/.DAVlogin
<LimitExcept GET HEAD OPTIONS>
Require user webdav
</LimitExcept>
</Location>

5.重新启动Apache.

需要重新启动Apache配置的修改以生效。

apachectl restart

现在,我们将能够通过Internet浏览器访问WebDAV,或者使用Jedit这样的支持支持的客户端软件。