2011-08-06 81 views
0

如何更改Trac的附件路徑/文件夾?更改Trac附件路徑

我有虛擬主機:

/home/public_html/ - my www folder 
/home/trac/ - trac projects folder 
/home/trac/attachment/ - attachment folder 

但我還沒有接觸到它。當我附加文件時,我無法通過Apache輸出它,因爲它存儲在apache htdocs之外。我不能使用'別名':/(我沒有訪問Apache配置文件,我只有.htaccess) 我有權訪問Trac源(但它們存儲在哪裏,在.egg上文件?)

我需要做什麼?我想附件文件夾移動到/ home /的public_html /附件/

回答

1

你有幾個選擇:

  • 移動附件到新的位置,然後用一個符號鏈接替換attachments目錄複製到新位置。
  • 將附件移到新位置,然後編輯Trac源代碼並更改附件的路徑。目前路徑爲relative to the environment folder,因此您必須將其更改爲絕對路徑。
  • 將附件移動到新的位置,並實現一個小插件,該插件用於對上面鏈接的Attachment._get_path()方法進行猴子修補。與Web服務器

    • 服務附件直接繞過所有權限檢查,所以每個人都將有機會獲得所有附件:

    但你不應該使用這些解決方案,基於以下原因。

  • 您將在附件文件名中使用特殊字符(特殊字符在文件名中使用URL編碼)。
  • 如果您修補源代碼或修補它,您的安裝將會更加難以維護。

爲什麼要從Web服務器提供附件?你的用戶會非常沉重地下載附件嗎?

正確的解決方案是在Trac中實現,這是我們打算在不久的將來做的事情。有關跟蹤進度,請參閱#7894

+0

謝謝你的回答!謝謝!我會嘗試解決方案!麻煩在我的虛擬主機配置。我thang nginx代理和它輸出任何靜態,當我嘗試下載文件,我有錯誤:502壞網關 nginx/0.8.53 – woozly

+0

雷米空白,我已經嘗試解決方案#2,但我有麻煩: – woozly

+0

我已經嘗試瞭解決方案#2,但我遇到了麻煩:File「/home/t/taglar/.python/lib64/python2.6/site-packages/Trac-0.12.2-py2.6.egg /trac/web/main.py「,第511行,在_dispatch_request .... :( – woozly