Apache WEBDAV設定

來源:互聯網
上載者:User

轉自:http://blog.myspace.cn/e/401362066.htm

 

WEBDAV設定" href="http://blog.myspace.cn/e/401362066.htm">Apache WEBDAV設定

webDAV(web分布式創作和版本控制)協議是一個基於HTTP的新協議,利用這個協議使用者可以通過web進行遠端基本檔案操作,如拷貝、移動、刪
除等。現在,在Apahe和微軟IIS上可以找到WebDAV的身影, WebDAV功能嵌入了Windows和Mac OS
X等普通台式機作業系統,以及Adobe、Lotus、微軟和其他公司的流行軟體之中。業內主要的文檔和內容管理供應商也對它普遍支援。

WebDAV工作流程



    WebDAV工作流程-1 。

   
使用者對儲存在WebDAV伺服器上的文檔進行編輯時,可以對該文檔進行鎖定以保證自己的修訂不會被其他使用者覆蓋。WebDAV的版本控制還可以讓使用者明白
文檔的哪個版本是最新的,以減少不必要的混亂。

   
WebDAV的存取控制表提供了對每個檔案的讀、寫和共用許可的進階控制,更進一步提高了系統的安全性,WebDAV的檔案管理特性已經使它成為傳統文檔
管理產品性價比很高的一個替代方案。任何一個支援WebDAV的Web伺服器都能提供安全創作的完整系統。

支援WebDAV的伺服器軟體

    目前Apache 伺服器和IIS (5.0以上版本)伺服器都支援WebDAV。這裡主要介紹一下Apache
伺服器的支援情況,Apache從1.x 版本開始通過mod_dav支援webdav
,不過這個模組目前已經停止了開發,可以通過http://www.webdav.org/mod_dav/ 瞭解。

    推薦您在Apache 2.0 和2.2 的版本上使用Webdav 。

Webdav 的Apache
2.X系列伺服器上的設定

    (1) 自己編譯apache 伺服器

    對於自己編譯的Apache 2.2 或者2.0伺服器,編譯是請加入參數:enable-dav 。
    編譯完成後執行以下命令: # cd
/
etc
/
apache2
/
mods
-
enabled
/

# ln
-
s
/
etc
/
apache2
/
mods
-
available
/
dav.load
dav.load

# ln
-
s
/
etc
/
apache2
/
mods
-
available
/
dav_fs.load
dav_fs.load

# ln
-
s
/
etc
/
apache2
/
mods
-
available
/
dav_fs.conf
dav_fs.conf



    在apache 伺服器的設定檔中加入兩行: DAVLockDB
/
tmp
/
DAVLock

DAVMinTimeout
600
!



    建立Webdav 目錄,並且添加存取權限: # mkdir
/
var
/
www
/
webdav

# chown root:apache
/
var
/
www
/
webdav

# chmod
750
/
var
/
www
/
webdav



    建立一個最簡單的配置:

<Directory /var/www/webdav>
Dav On
</Directory>


到此為止在Apache 伺服器配置Webdav 工作基本完成,不過目前它的安全效能不好。後面筆者會逐步完善。

    (2) 在RHEL 5.0 自身的Apoache 2.2.3伺服器上設定Webdav
檢查編譯情況
    首先查看RHEL 5.0 自身的Apoache 2.2.3是否編譯了dav模組,使用httpd -M 命令,2 。

    從圖2 可以看到在在RHEL 5.0 自身的Apoache 2.2.3伺服器上已經編譯了Webdav。

修改Apache 設定檔

    下面檢查Apache伺服器設定檔httpd.conf ,載入dav模組情況,把以下兩行前的# 去掉。
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
把以下的# 去掉
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
</IfModule>
添加一行
DAVMinTimeout 600!

設定用戶端訪問webdav目錄
<Directory /var/www/webdav/joe/>
require user joe
</Directory>

設定許可權
# mkdir /var/www/passwd
# htpasswd -c /var/www/passwd /htpass.dav joe
# chown root:apache /etc/apache2/passwd/htpass.dav
# chmod 640 /var/www/passwd /htpass.dav joe
# mkdir /var/www/webdav/joe
# chown apache:apache /var/www/webdav/joe
# chmod 750 /var/www/webdav/joe



    說明:以上命令是Apache 伺服器設定的基本功,這裡筆者就不贅述了。請讀者自己理解。或者查看手冊。 Webdav 在Windows
平台的Apache 伺服器上的設定

    下面簡單介紹一下Apache 伺服器在Windows 作業系統下的webdav配置方法。

修改設定檔httpd.conf把以下三行的# 去掉:

LoadModule dav_module
modules
/
mod_dav.so

LoadModule dav_fs_module modules
/
mod_dav_fs.so

Include conf
/
extra
/
httpd
-
dav.conf


    修改httpd-dav.conf設定檔為3的內容:

   
說明:這裡筆者使用的是基本認證方法,另外摘要認證比基本認證更加安全,但遺憾的是目前並非所有的瀏覽器都支援摘要認證,所以大多數情況下使用者只使用基本
認證。本節主要介紹基本認證。
建立密碼檔案 htpasswd.exe
-
c
"
D:/Apache Software Foundation/Apache2.2/DavPwd/user.pwd
"
dav@MyDomain.com



    輸入命令後會提示讓你輸入兩次密碼。4 。

    到此為止在Apache 伺服器配置Webdav的工作全部完成,後邊筆者會介紹如何通過webdav 用戶端軟體訪問伺服器。 通過Webdav用戶端軟體訪問伺服器

    webdav 用戶端軟體

    主要的webdav 用戶端軟體如表-1 。

   
說明:一個WebDAV應用就是一個內建WebDAV協議的程式,表-1會覆蓋大多數支援WebDAV的流行程式。在Windows下,有一些有名的整合
WebDAV用戶端功能的軟體,例如Microsoft's
Office、Adobe的Photoshop和Macromedia的Dreamweaver。它們都可以直接開啟和儲存URL,也可以在編輯時大量的
使用WebDAV的鎖定。

Windows下的webdav
用戶端軟體訪問Linux 下伺服器的使用方法



   
這裡以Microsoft網路檔案夾為例。Microsoft是WebDAV規範最早的支援者,最早在Windows
98配置用戶端,被稱作“網路檔案夾”,這個用戶端在Windows NT4和2000上也存在。

    最早的Webfolders用戶端是瀏覽器的擴充,主要的瀏覽檔案系統的GUI程式,工作良好。在Windows
98,如果“我的電腦”裡沒有網路檔案夾,這個特性需要明確安裝。在Windows
2000,只需要添加一個新的“網路位置”,輸入URL,WebDAV共用就會彈出讓你瀏覽。 步驟如下 :

    1. 為了使用Windows 2003 提供的Web 資料夾,可以先開啟“網路位置”,然後雙擊“添加網路位置”,5
所示。

    2. 在對話方塊中輸入使用HTTP 協議的URL,既可以使用IP 位址也可以使用FQDN。-6 所示。

    3. 之後單擊“下一步”按鈕,彈出認證對話方塊,-7 所示。

    4. 輸入joe的使用者名稱和密碼後,單擊“確定”按鈕進入-8 所示的介面。

    更改網路位置的名稱後,將會看到-9 所示的Web 資料夾。在該介面下,使用者可以像使用區域網路資源一樣來對Web
檔案夾進行操作,對網站內容進行更新。如果使用者使用瀏覽器訪問此站,將會直接瀏覽到首頁而不會彈出認證介面,這正是我們所需要的結果。

圖9 Web 資料夾

    注意:為了安全的考慮,當使用者更新網站完畢,一定要將此Web 資料夾刪除。

Linux下的webdav
用戶端軟體訪問伺服器的使用方法

    1. 命令列工具

   
Cadaver是一個用來瀏覽和修改WebDAV共用的Linux、Unix命令列程式,就像Subversion用戶端,它使用了neon的HTTP庫
-不需要驚訝,neon和cadaver的作者是同一個人。Cadaver是自由軟體(GPL許可證),可以在http://www.webdav.org/cadaver/
下載。
使用cadaver就像使用命令列的FTP程式,因此它很適合基本的WebDAV調試。它可以以壓縮方式上傳和下載檔案,也會檢驗屬性、拷貝、移動、鎖定
和解鎖檔案:

 

 

$ cadaver http://host/repos

dav:/repos/> ls
Listing collection `/repos/': succeeded.
Coll: > foobar 0 May 10 16:19
> playwright.el 2864 May 4 16:18
> proofbypoem.txt 1461 May 5 15:09
> westcoast.jpg 66737 May 5 15:09

dav:/repos/> put README
Uploading README to `/repos/README':
Progress: [=============================>] 100.0% of 357
bytes succeeded.

dav:/repos/> get proofbypoem.txt
Downloading `/repos/proofbypoem.txt' to proofbypoem.txt:
Progress: [=============================>] 100.0% of 1461
bytes succeeded.

 

   DAV Explorer是另一個獨立啟動並執行WebDAV用戶端,使用Java編寫,有一個類Apache的許可證,網站是http://www.ics.uci.edu/~webdav/
。DAV
Explorer與cadaver功能差不多,優點可移植,並有一個方便使用的GUI程式。它也是最早的支援WebDAV存取控制協議(RFC
3744)的用戶端。

    2. 瀏覽器整合

   
一些流行的檔案瀏覽器程式支援WebDAV擴充,允許使用者瀏覽DAV共用如同訪問本機,並允許基本的分類樹操作。例如,Windows的資源管理員可以把
WebDAV伺服器看作一個“網路位置”,使用者可以從案頭托拽檔案到這個目錄,或者是重新命名、拷貝或者刪除檔案。但是這隻是檔案瀏覽器的特性,DAV共用
對於普通的應用不可見,所有的DAV操作需要通過瀏覽器介面完成。Linux 下包括:Nautilus,Konqueror。

    Nautilus是GNOME案頭(http://www.gnome.org

官方的檔案管理/瀏覽器,KDE案頭(http://www.kde.org
)的
則是Konqueror。兩個應用程式都是瀏覽器層級的WebDAV用戶端,對自動版本化的版本庫工作良好。
GNOME的Nautilus裡,從File menu選擇Open location,並且輸入URL。版本庫就會顯示出來,就像其他檔案系統。

   
KDE的Konqueror裡你需要在地址欄使用webdav://模式來輸入URL,如果你輸入http://的URL,Konqueror會像普通的
web瀏覽器。你會看到mod_dav_svn輸出的普通HTML目錄列表。通過輸入webdav://host/repos代替http://host/repos
,Konqueror就成為了一個WebDAV用戶端,
並且按照檔案系統的方式顯示版本庫。 在Konqueror裡首先也要進行身份認證。-10 。

圖-10在Konqueror首先也要進行身份認證

    通過身份認證,即可進行webdav管理,11 。

圖11 在Konqueror瀏覽器中進行webdav管理

Mac OS X的webdav用戶端軟體

    Apple的OS X作業系統是整合的檔案系統級的用戶端,通過Finder,選擇Go menu的Connect to
Server條目,輸入WebDAV的URL,會在案頭顯示一個磁碟,就像其他裝載的卷。

    使用SSL保護webdav安全

   
啟用SSL加強通訊安全,由於WebDAV虛是建立在Web網站下的,所以可以利用SSL來對通訊加密,保障資料資料安全。配置非常簡單,下面是一個虛擬
主機的SSL配置Webdav的配置執行個體,關於SSL在配置是Apache 伺服器設定的基本功,這裡筆者就不贅述了。請讀者自己理解。或者查看手冊。


NameVirtualHost *:443
<VirtualHost 10.1.1.2:443>
DocumentRoot /home/bob/web/html/
ServerName dav.mydomain.com
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
DavLockDB /tmp/mydomainDavLock
<Directory /home/bob/web/html/>
AllowOverride All
Order allow,deny
Allow from all
DAV On
</Directory>
</VirtualHost>


總結:

    到此為止,我們介紹了Apache 伺服器的webdav 配置以及用戶端軟體的使用方法。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.