2011-03-21 30 views
3

我一直都在的Plone 4.0.4和WebDAV

http://plone.org/documentation/kb/webdav http://plone.org/documentation/kb/more-webdav

和Im能夠與屍體(FreeBSD的)連接到端口1980年。

我使用(ProxyPass和ProxyPassReverse)在Apache後面設置了一個簡單的Plone。

到目前爲止這麼好。現在我希望Apache代理(或重寫)WebDAV請求到 WebDAV服務器。當使用Netdrive(或其他util在文件資源管理器中映射驅動器)時,用戶只能看到帶有WebDAV的個人「成員文件夾」 - 不是root或其他成員文件夾。

如果有人能指示我在Apache VirtualHost中顯示重寫規則(不是我所知的ProxyPass)的簡單教程,我會很高興。

謝謝。 Nikolaj G.

回答

4

ProxyPass可以工作。我有一些使用ProxyPass的站點,其他使用RewriteRule的站點。 Zope VirtualHostMonster下的文檔是另一個不錯的地方。

重寫是如此簡單:

<VirtualHost *:80> 
    ServerName webdav.example.ca 
    ServerAlias somethingelse 
    ServerAdmin [email protected] 

所以,我假設你將不得不爲DAV服務器的特定主機名 - 在這種情況下webdav.example.ca。

RewriteLogLevel 0 
    RewriteEngine On 

,直到你以前VirtuaLHostBase打開它:-)

RewriteRule ^(.*) http://localhost:1980/VirtualHostBase/http/webdav.example.ca:80/Plone/Members/VirtualHostRoot$1 [L,P] 

的部分不能使用重寫是實際的主機/端口的DAV服務器上。下一部分http/webdav.example.ca:80描述了協議//:服務器:端口您希望用戶使用。 Plone將是您的Plone網站名稱。 $ 1符合正則表達式(。*)

</VirtualHost> 

測試它就像使用DAV服務器中的屍體一樣簡單。首先,請確保您可以訪問:

http://localhost:1980/Plone/Members/username 

然後:

http://localhost:1980/VirtualHostBase/http/webdav.example.ca:80/Plone/Members/VirtualHostRoot/username 

最後:

http://webdav.example.ca:80/username 

現在,這不會阻止用戶試圖連接到別人的文件夾,但Zope的安全性確實如此。有一點雞和雞蛋的情況是,服務器不知道用戶名,直到你已經使用這個。

+0

您好Auspex,我不知道點系統 - 只是給你信貸的幫助。再次感謝。尼古拉 – user669857 2011-05-03 10:07:16