2012-10-01 39 views
0

我一直在試圖在我們的一臺服務器上設置webistrano。一切都很順利,直到我嘗試部署我的設置。 Webistrano是currenlty設立住在測試服務器上,所以我希望它部署到127.0.0.1Webistrano卡在部署上:update_code

配置包含有效的用戶,webistrano,應該有機會獲得 /home/webistrano/.subversion/servers

該用戶的密碼是正確的。是否有人可以解釋一下可能會出現什麼問題?

*** SSH options: setting ssh_port to: 22 
*** LOCAL SCM ERROR: svn: warning: Can't open file '/home/webistrano/.subversion/servers': Permission denied 
    * executing `deploy' 
    * executing `deploy:update' 
** transaction: start 
    * executing `deploy:update_code' 
    * executing "svn checkout -q --username webistrano --password XXXXXXXX --no-auth-cache -r27687 http://server.com/repos/server/clients/site/trunk  /var/www/vhosts/server.com/releases/20121001183038 && (echo 27687 > /var/www/vhosts/server.com/releases/20121001183038/REVISION)" 
    servers: ["127.0.0.1"] 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /var/www/vhosts/server.com/releases/20121001183038; true" 
servers: ["127.0.0.1"] 
** [deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: 127.0.0.1 (Errno::EACCES: Permission denied - connect(2)) 
*** connection failed for: 127.0.0.1 (Errno::EACCES: Permission denied - connect(2)) 

調試與 puts system('id')deployer.rb返回

uid=500(webistrano) gid=500(webistrano) groups=500(webistrano) context=unconfined_u:system_r:httpd_t:s0 

ls -all /home/webistrano回報:

drwxrwxr-x. 3 webistrano webistrano 4096 Sep 27 16:59 .subversion

LS -all /home/webistrano/.subversion回報:

drwxrwxr-x. 3 webistrano webistrano 4096 Oct 1 20:02 . 
drwx------. 4 webistrano webistrano 4096 Oct 1 22:14 .. 
drwx------. 6 webistrano webistrano 4096 Sep 27 16:59 auth 
-rw-rw-r--. 1 webistrano webistrano 6866 Sep 27 16:59 config 
-rw-rw-r--. 1 webistrano webistrano 4276 Sep 27 16:59 README.txt 
-rw-rw-r--. 1 webistrano webistrano 7674 Oct 1 20:02 servers 

這說明服務器應該完全可讀嗎? 發生了什麼事?

+0

如果您對該用戶「su」並嘗試查看'/ home/webistrano/.subversion/servers',會發生什麼? –

+0

嘿,本。我可以完全編輯/查看它沒有問題。我很困惑:( –

回答

1

事實證明這是Passenger的一個問題。 Phusion Passenger應該是擁有conf/environment.conf的用戶(在我的情況下是webistrano)。顯示用戶標識還顯示webistrano,但如果我將其更改爲無人運行,則svn錯誤將不再顯示。雖然我無法svn導出代碼,可能是因爲沒有人沒有主目錄。

我最終通過雜種運行webistrano,並通過這樣做啓動它:

$ su - webistrano 

,以確保正確的家庭環境中被加載並且所有的權限是正確的。 它現在完美。希望這可以幫助某人