WebDAV 其實在使用上有點像網路芳鄰,又有點像FTP,只是 port 都改成了www 的80,沒有裝好伺服器當然是無法示範的啦,先裝好伺服器再示範如何連線。
WebDAV是架設在apache的基礎上的,所以要安裝 apache
# apt-get install apache2
把以下兩個模組加進來
# a2enmod dav_fs
# a2enmod dav
重新啟動apache
# /etc/init.d/apache2 restart
接下來我們建一個 Virtual Host
建立Virtual Host的目錄
# mkdir -p /var/www/web1/web
把目錄權限指定給網頁使用者 www-data
# chown www-data /var/www/web1/web
備份預設的apache設定
# mv /etc/apache2/sites-available/default /etc/apache2/sites-available/default_orig
建立新的空白設定檔,編輯如下內容:
# vi /etc/apache2/sites-available/default
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/web1/web/
<Directory /var/www/web1/web/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
存檔後,重新啟動伺服器
# /etc/init.d/apache2 reload
建立WebDAV使用者的帳號以及密碼,假設使用者為 smallken
# htpasswd -c /var/www/web1/passwd.dav smallken
New password:
Re-type new password:
Adding password for user smallken
修改 passwd.dav的檔案權限,讓只有www-data可存取得到。
# chown root:www-data /var/www/web1/passwd.dav
# chmod 640 /var/www/web1/passwd.dav
再次編輯 default,增加內容如下
# vi /etc/apache2/sites-available/default
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/web1/web/
<Directory /var/www/web1/web/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Alias /webdav /var/www/web1/web
<Location /webdav>
DAV On
AuthType Basic
AuthName “webdav”
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
</Location>
</VirtualHost>
重新讀取設定檔,重新啟動apache
# /etc/init.d/apache2 reload
以上架設WebDAV的步驟已經完成了,接下來示範如何連線:
我的網路上的芳鄰 → 右鍵 → 連線網路的磁碟機
點選註冊線上存放或連線到網路伺服器
輸入網址: http://192.168.1.105:80/webdav ,IP依照您電腦實際的情況而改變,IP不限制只在內部區網使用,IP可以是對外的實體IP,可接受對外的連線。
輸入帳號/密碼

實際連線時,再次輸入帳號/密碼
連線成功畫面,就像自己電腦的資料夾一樣,這時候就可以自由上傳、下傳檔案囉,達到共同資料夾的效果
備註:
在伺服器端如何自我測試?
# apt-get install cadaver
# cadaver http://localhost/webdav/
Authentication required for webdav on server `localhost’:
Username: smallken
Password:
dav:/webdav/> ls
Listing collection `/webdav/’: succeeded.
hi.txt 14 Mar 22 05:20
movies.avi 0 Mar 23 01:18
dav:/webdav/> quit
Connection to `localhost’ closed.