1. 什么是 WebDAV?
WebDAV stands for “Web-based Distributed Authoring and Versioning”. It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers. ( http://webdav.org/ )
(此解釋來(lái)自官網(wǎng)酌伊,老子就是不翻譯)
我將它用作 FTP 的替代环鲤,在各個(gè)主機(jī)間同步文件之众。如我的 Lenovo 筆記本炭玫、安卓手機(jī)和租用的云主機(jī)之間的文件互傳。
2. Apache2 服務(wù)器配置:
(1)啟用相關(guān)模塊
sudo a2enmod dav_fs
sudo a2enmod dav
sudo a2enmod dav_lock
(2)重啟 Apache2 服務(wù):
sudo service apache2 restart
(3)創(chuàng)建虛擬主機(jī)目錄:
mkdir /var/www/sync
chown www-data:www-data /var/www/sync
(4)創(chuàng)建用戶:
sudo htpasswd -c /var/www/me.dav starky
// 這里會(huì)要求你設(shè)置密碼,后面登錄時(shí)會(huì)用到,用戶名即為 starky
sudo chown root:www-data /var/www/me.dav
sudo chmod 640 /var/www/me.dav
(5)配置虛擬主機(jī):
sudo vim /etc/apache2/sites-available/webdav
在文件中插入以下內(nèi)容并保存
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/sync/
<Directory /var/www/sync/>
Options Indexes MultiViews
AllowOverride None
Require all granted
</Directory>
Alias /webdav /var/www/sync
<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/me.dav
Require valid-user
</Location>
</VirtualHost>
依序執(zhí)行 cd /etc/apache2/sites-enabled/
sudo ln -s ../sites-available/webdav.conf webdav.conf
sudo rm 000-default.conf
3. 驗(yàn)證
使用命令行 cadaver 進(jìn)入登錄
sudo service apache2 restart
sudo apt-get install cadaver
cadaver http://127.0.0.1/webdav/
4. 客戶端配置
Windows 系統(tǒng)下可用自帶的資源管理器( Win+E -> 右擊“計(jì)算機(jī)” -> 選擇 “添加一個(gè)網(wǎng)絡(luò)位置”)柒竞,此處不作過(guò)多介紹。
我個(gè)人采用第三方軟件 WinSCP (支持 FTP播聪、SFTP朽基、SCP、WebDav 等多種協(xié)議)离陶。配置界面如下:
注意:一定要將“高級(jí)”中的“遠(yuǎn)程目錄”改為 /webdav 稼虎,否則默認(rèn)訪問(wèn)網(wǎng)站根目錄,而返回權(quán)限錯(cuò)誤招刨。
手機(jī)端配置如下圖所示(軟件為安卓文件管理終極神器 ES文件瀏覽器):
進(jìn)入“網(wǎng)絡(luò)” -> “ FTP ” -> “新建” -> webdav霎俩,按上圖填寫(xiě)信息即可。