WebDAV是一种HTTP1.1的扩展协议,可以在像操作本地文件夹一样操作服务器上的文件夹

WebDAV的优势:   

  一套自己定义的安全完善的身份验证机制。

 

        穿墙

 

        HTTPS传送数据

 

        使用一个TCP连接传送所有文件

 

        方便的客户端工具:和局域网中的文件共享一样简单使用。

 

先确保你的server上安装了apache

sudo apt-get install apache2
sudo apt-get install apache2-utils

启动webdav服务。

 

sudo a2enmod dav_fs
sudo a2enmod dav

 

创建一个可以共享目录并授权给apache;

 

sudo mkdir /home/yang/webdav-share
sudo chown www-data:www-data /home/yang/webdav-share
sudo mkdir /home/yang/webdavpasswd

 

创建一个存放密码的目录并创建登陆用户;

 

#创建用户
sudo htpasswd -c /home/yang/webdavpasswd/passwd.dav webdav
#授权密码目录给apache
sudo chown www-data:www-data -R /home/yang/webdavpasswd
#设置密码文件读写权限
sudo chmod 640 /home/yang/webdavpasswd/passwd.dav

 

最后写入Apache2配置文件;重启一下apache就OK了。

 

sudo vim /etc/apache2/sites-enabled/000-default

在000-default的virtialhost里加入以下配置

 

DocumentRoot /home/yang/webdav-share
<Directory /home/yang/webdav-share>
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

Alias /webdav /home/yang/webdav-share
<Location /webdav>
    DAV On
    AuthType Basic
    AuthName "webdav"
    AuthUserFile /home/yang/webdavpasswd/passwd.dav
    Require valid-user
</Location>  

 

安装cadaver,运行如下命令

cadaver http://localhost/webdav/

输入用户名和密码即可登录入服务器,使用类似ftp的命令就可以操作服务器上的文件,使用h命令可列出所有的命令。

dav:/> h
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
dav:/>

常用的命令有ls--列出文件,put--上传文件,get--下载文件,cat--显示文件内容,edit--在线编辑文件,quit--退出。