WebDAV是HTTP的一个扩展协议,可以实现安全完善的身份验证机制。Web服务器开启WebDAV之后,用户可以上传、下载、编辑和管理特定web目录中文件,可以像操作本地文件一样操作服务器上的文件,类似FTP。
如果你运行有Apache2,只要开启它的WebDAV模块就可以了。我假设你已安装了Apache2,如果你没有安装,参考:Ubuntu 16.04 搭建 LAMP(http://www.linuxdiyf.com/linux/21530.html)。
开启WebDAV相关模块
打开终端执行:
$ sudo a2enmod dav
$ sudo a2enmod dav_fs
重启Apache服务:
$ sudo systemctl restart apache2
配置Apache
为了简单,创建一个叫webdav的目录,这个目录是用户操作的目录:
$ sudo mkdir -p /var/www/webdav
更改目录所有者:
$ sudo chown www-data:www-data /var/www/webdav
创建Virtual Host配置文件:
$ sudo vim /etc/apache2/sites-available/webdav.conf
NameVirtualHost *
<VirtualHost *:80>
ServerAdmin email@xx.com
DocumentRoot /var/www/webdav/
<Directory /var/www/webdav/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Alias /webdav /var/www/webdav
<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/webdav/passwd.dav
Require valid-user
</Location>
创建WebDAV密码文件passwd.dav:
$ sudo htpasswd -c /var/www/webdav/passwd.dav username
生成密码;username是Linux系统某个用户。
更改passwd.dav文件权限:
$ sudo chown root:www-data /var/www/webdav/passwd.dav
$ sudo chmod 640 /var/www/webdav/passwd.dav
使配置生效:
$ sudo a2ensite webdav.conf
$ sudo service apache2 restart
OK,Apache已成功开启WebDAV。
测试WebDAV
Linux安装cadaver工具:
$ sudo apt install cadaver
连接服务器:
$ cadaver http://IP_or_domain/webdav
Username: snail
Password:
dav:/webdav/> help # 帮助
Available commands:
ls cd pwd put get mget mput
edit less mkcol cat delete rmcol copy
move lock unlock discover steal showlocks version
checkin checkout uncheckout history label propnames chexec
propget propdel propset search set open close
echo quit unset lcd lls lpwd logout
help describe about
Aliases: rm=delete, mkdir=mkcol, mv=move, cp=copy, more=less, quit=exit=bye
你可以使用上面命令操作服务器上的文件。
使用浏览器访问:http://IP_or_domain/webdav/
Windows可以使用文档管理器操作文件。