0

我一直在尝试在我们的一台服务器上设置 webistrano。一切都很顺利,直到我尝试部署我的设置。Webistrano 目前设置在测试服务器上,所以我希望它部署到 127.0.0.1

配置包含有效用户 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')使用indeployer.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

这表明每个人都应该完全可读服务器?这是怎么回事?

4

1 回答 1

1

事实证明这是Passenger的问题。Phusion Passenger 应该以拥有 conf/environment.conf(在我的例子中是 webistrano)的用户身份运行。显示用户 id 也显示 webistrano,但如果我将其更改为以无人身份运行,svn 错误将停止出现。我无法 svn 导出代码,可能是因为没有人没有主目录。

我最终通过mongrel运行 webistrano ,并通过以下方式启动它:

$ su - webistrano

确保加载了正确的家庭环境并且所有权限都正确。它现在完美无缺。希望这可以帮助某人

于 2012-10-07T15:23:30.597 回答