所以,我創建了一個系統,管理所有在特定文件夾(新網站可以在此文件夾中創建)的drupal網站。製作萬維網數據推送到本地git回購
下一步是創建一種方法,允許用戶將網站恢復到以前的版本。
我的解決方案?創建一個本地的「git服務器」,併爲我的系統上採取的每一個行動(例如:更新/安裝模塊,升級核心等),我創建該網站的新版本。
我創建了一個「git」用戶,負責在/~/gitrepos/
上創建存儲庫。並且對於每個新網站,我使用apache用戶(www-data)中的sudo -u git
來運行mkdir
和git init --bare
。我目前能夠創建新文件夾並初始化這些文件夾。
但是當我嘗試將網站更改推送到這些存儲庫時,我得到「權限被拒絕」。
當檢測到一個新的網站,我做到以下幾點:[使用WWW的數據和sudo -u git
]
- 創建存儲庫
mkdir
和git init
- 初始化的git資料庫(.git文件夾)在網站目錄[使用www-data]
git init
- ,將文件添加到提交隊列[使用www數據]
git add *
- 提交的變化來填充新創建的存儲庫[使用www數據]
git commit -m 'msg'
- 添加的存儲庫的遠程地址[使用WWW的數據]
git remote add origin ssh://[email protected]/path/to/repo/
- 推變化[使用WWW的數據]
git push -u origin master
現在我卡在了th是一步,因爲我總是得到「權限被拒絕」。
我有什麼辦法可以將更改推送到本地「git服務器」而無需進行身份驗證?
或者,我應該創建哪些ssh密鑰來啓用www-data來將更改推送到本地「git服務器」?
我真的失去了這裏,如果有人有一個一步一步的方式來建立一個本地「混帳服務器」,其中www數據用戶可以推到,這將是巨大。
注:主目錄www數據是/var/www/
,所以它不是存儲在這個目錄中的SSH密鑰是一個好主意
是的,我已經花了至少4小時試圖弄清楚這在問這裏之前。
一些資源我試圖按照:
- http://www.hackido.com/2010/01/installing-git-on-server-ubuntu-or.html
- http://toroid.org/ams/git-website-howto
- http://pthree.org/2008/11/28/setup-a-git-repository/
- Git-based website deployment workflow
- http://tumblr.intranation.com/post/766290565/how-set-up-your-own-private-git-server-linux
- http://blogs.gurulabs.com/aaron/2008/11/setup-a-git-repository.html
我之所以引用「混帳服務器」,是因爲沒有這樣的東西作爲一個git 服務器。從http://blogs.gurulabs.com/aaron/2008/11/setup-a-git-repository.html
報價:
換句話說,有沒有這樣的事,作爲一個「混帳服務器」和「混帳客戶端」。 Git是由文件系統開發人員在考慮文件系統屬性的情況下開發的。所以,相反,我們有一個遠程Git倉庫,我們稱之爲「origin」和一個本地Git倉庫(...)