2012-02-07 38 views
1

我有一個Gitolite服務器,我將我的網站源代碼推送到該服務器。服務器然後使用鉤子將回購點克隆到網站文件夾中。我希望能夠在我的網站中更改PHP腳本中的文件,然後讓PHP腳本自動添加,提交併將這些更改後的文件推送回Gitolite服務器。將Gitolite服務器上的回購服務器推送到Gitolite,同時還能夠從客戶端推送和拉取

到目前爲止,我已經設法添加和提交這些文件,但我無法推送它們。如果我嘗試推送到本地對存儲庫的引用,我被告知它並不是一個回購(我認爲它與sudo一起使用的文件權限問題),如果我嘗試通過SSH推送,我不能當我在Lion服務器的_www用戶下運行這個私鑰時指定一個私鑰。是否有可能推到當地的Gitolite回購?

回答

1

推送到Gitolite的想法是確保Gitolite可以得到您的ID,以便使用此ID與其內部授權配置文件。
使用SSH是這樣做(因爲Gitolite註冊的公共密鑰的名字將被用來作爲你的ID名)

因此,一個好辦法:

  • 你需要確保_www用戶授權推到你的回購
  • 你需要有~_www/.ssh下公鑰/私鑰被你推
  • 使用需要添加_www用戶的公鑰gitolite鍵。

OP enovav評論說:

  • 在獅子服務器中,用戶_www沒有一個主文件夾。
  • PHP在/Library/WebServer中查找SSH密鑰。
  • 默認情況下,登錄_www用戶是不可能的,但this thread解釋瞭如何。 (chsh -u Admin _www將shell從/ bin/false更改)。
  • 然後可以按照上述步驟進行操作。
+0

在Lion Server上,_www用戶沒有主文件夾。我檢查了PHP日誌,發現它實際上是在'/ Library/WebServer'中尋找SSH密鑰。下一步:創建SSH密鑰。我試圖通過鍵入'sudo -i -u _www'來成爲shell中的'_www'用戶。但是,這並沒有立即返回,也沒有打印任何消息。經過一番研究,我找到了[這個主題](http://ask.metafilter.com/99605/login-as-www-user),它解釋瞭如何在Mac OS X中登錄'_www'用戶。使用命令'chsh -u Admin_www'更改了shell,然後按照上述步驟操作。 – shearnonsense 2012-02-08 17:08:35

+0

@enovav感謝您的反饋。我已經將它包含在答案中以提高可見性。 – VonC 2012-02-08 21:24:26

相關問題