首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webistrano坚持使用deploy:update_code

Webistrano坚持使用deploy:update_code
EN

Stack Overflow用户
提问于 2012-10-02 01:41:10
回答 1查看 925关注 0票数 0

我一直在试着在我们的一台服务器上设置webistrano。一切都很顺利,直到我尝试部署我的设置。Webistrano当前设置为运行在测试服务器上,因此我希望将其部署到127.0.0.1

该配置包含有效用户webistrano,该用户应具有访问/home/webistrano/.subversion/servers的权限

该用户的密码是正确的。有人能解释一下它可能出了什么问题吗?

代码语言:javascript
复制
*** 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))

deployer.rb返回中使用puts system('id')进行调试

代码语言:javascript
复制
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返回:

代码语言:javascript
复制
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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-07 23:23:31

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

我最终通过混合运行了webistrano,并通过执行以下操作启动它:

代码语言:javascript
复制
$ su - webistrano

确保加载了正确的主环境,并且所有权限都是正确的。它现在工作得很完美。希望这对某些人有帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12678224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档