如何在Apache上配置和启用Web DAV
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这样的支持支持的客户端软件。