最近在项目中需要通过WebDav方式提供文件发布的功能,特此记录配置全过程。Apache2内置直接支持WebDav功能,开启并配置即可,配置过程如下(注:这里使用了xampp集成的apache,与独立安装的配置略有差异):
1、开启WebDav
修改httpd.conf文件,找到如下行,去掉Include前面的#
# Distributed authoring and versioning (WebDAV)
Include etc/extra/httpd-dav.conf
修改httpd-dav.conf文件,配置webdav本地路径及访问路径(这里是webdav),认证方式为用户名密码访问,完整配置如下,配置完成后重启apache使配置生效:
DavLockDB "/opt/lampp/var/DavLock"
Alias /webdav"/opt/lampp/webdav" #访问路径及别名
<Directory "/opt/lampp/webdav">
Dav On
Options Indexes #开启Web页面的直接访问
Order Allow,Deny
Allow from all
AuthType Digest
AuthName DAV-upload
# You can use the htdigest program to create the password database:
# htdigest -c "/opt/lampp/user.passwd" DAV-upload admin
AuthUserFile "/opt/lampp/user.passwd"
AuthDigestProvider file
# Allow universal read-access, but writes are restricted
# to the admin user.
<RequireAny>
Require method GET POST OPTIONS
Require user admin
</RequireAny>
</Directory>
在上面的配置文件中,有几个地方需要注意,/opt/lampp/var,/opt/lampp/webdav需要配置用户权限,否则apache的daemon用户是无法对目录进行读写操作的
sudo chown daemon.daemon -R var
sudo chown daemon.daemon -R webdav
sudo htpasswd -c user.passwd admin