2011-06-10 15 views
0

我們的Web項目存儲庫託管在我們的Web服務器的一個子域,然後項目的'部署'涉及簽出一個子域的副本同一臺服務器。使用SVN的Web項目/有一個上傳器,上傳需要由Apache的權限

因此,我們檢出staging.mydomain.com上的工作副本,並且爲了使上傳實用程序正常工作,必須將/ upload /目錄變爲apache:apache,因爲PHP以Apache身份運行。

當然,當我嘗試使用staging.mydomain.com上的副本上傳文件時,我會收到權限錯誤。所以就像一個好孩子,我chown -hR apache:apache上傳/

當然,我的ssh證書不在apache組中或稱爲apache,因此運行svn更新失敗,直到我將所有內容切回到檢出回購的用戶。

有關如何操作的建議?

回答

0

您應該使用單個用戶進行部署。通常情況下,我會讓這個帳戶無法SSH。然後,我會讓不同的開發者能夠使用他們自己的帳戶和su登錄到這個用戶。部署用戶至少應該位於apache組中,如果不是實際用戶或者具有有限的功能以執行與該用戶相同的操作。

1

如果源代碼與Web服務器在同一個系統中,那麼您可以將幹線導出到Web服務器目錄中。每次修改代碼時,您都必須導出它們。我認爲這樣做更安全,因爲您不使用管理員或超級用戶。