我一直在尝试在我们的某台服务器上设置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')
中的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 :(得分:1)
事实证明这是乘客的一个问题。 Phusion Passenger应该以拥有conf / environment.conf(在我的例子中是webistrano)的用户身份运行。显示用户ID也显示webistrano,但如果我将其更改为无人运行,则svn错误停止显示。我无法svn导出代码,可能是因为没有人没有主目录。
我最终通过 mongrel 运行webistrano,并通过以下方式启动它:
$ su - webistrano
确保加载了正确的家庭环境并且所有权限都是正确的。 它现在完美无缺。希望这有助于某人