2011-04-05 76 views
0

我可以用root擁有的git文件創建而不使用root來推送?在/ var/www/vhosts上用git pull在web服務器上部署

我使用git用戶推入網絡服務器。但/ var/www由root或www-data擁有,對其他用戶沒有寫權限。

我可以在其他目錄拉,並使用「鉤/後收到」但還是這個鉤子與git的用戶執行...

對於我登錄到Web服務器,並做了須藤混帳的時刻拉來源。但如果我從我的筆記本電腦上做一個git pull服務器會更高效。

感謝

+1

如果你在/ var/www中鏈接了/ home/youruser/pubwww之類的東西,會不會更好?這樣,您就不必亂用文件的所有權/權限。 – Darhuuk 2011-04-05 10:14:35

+0

但符號鏈接我仍然會有同樣的問題沒有? – gagarine 2011-04-05 12:22:26

+0

爲什麼?創建git用戶擁有的映射的符號鏈接。然後將你的文件作爲git用戶推送到這張地圖。我不明白你會如何以這種方式遇到問題。 – Darhuuk 2011-04-05 13:51:14

回答

0

我的解決方案是通過www-pub組將所有文件提供給git,除了具有MySQL密碼的設置文件以外,其他人都具有讀取權限—。

我推送到/home/git/repository/project和結帳到/var/www/project使用hook/post-receive

0

只是把我的評論這裏的答案,因爲據我所知,這將徹底解決這一問題:

做一個符號鏈接/var/wwwgit用戶所擁有的地圖(如/home/git/www)。然後將你的文件推送到這張/home/git/www地圖。不再有權限問題。

+0

它肯定也不是一個不好的解決方案 – gagarine 2011-04-18 14:30:36

+0

@gagarine謝謝!應該指出,你的解決方案消耗了兩倍的存儲空間,這對於現代硬盤大小來說可能不是問題,但它仍然是一種浪費。使用符號鏈接解決方案,您不會遇到「問題」。 – Darhuuk 2011-04-18 14:54:38