0

サーバーの1つにwebistranoをセットアップしようとしています。セットアップを展開しようとするまで、すべてがうまくいきました。Webistranoは現在テストサーバー上に存在するように設定されているので、127.0.0.1にデプロイしたいと思います

構成には、/ home / webistrano / .subversion/serversにアクセスできる有効なユーザーwebistranoが含まれています

そのユーザーのパスワードは正しいです。誰かがそれで何がうまくいかないのかについていくつかの光を当てることができますか?

*** 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))

inreturnsを使用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

サーバーがすべての人に完全に読み取れる必要があることを示しているのはどれですか?どうしたの?

4

1 に答える 1

1

これは乗客の問題であることが判明しました。Phusion Passengerは、conf / environment.conf(私の場合はwebistrano)を所有するユーザーとして実行されることになっています。ユーザーIDを表示するとwebistranoも表示されましたが、nobodyとして実行するように変更すると、svnエラーが表示されなくなりました。しかし、おそらく誰もホームディレクトリを持っていないために、コードをsvnエクスポートできませんでした。

私は結局、雑種を介してwebistranoを実行し、次のようにして開始しました。

$ su - webistrano

正しいホーム環境がロードされ、すべての権限が正しいことを確認します。今では完璧に動作します。これが誰かに役立つことを願っています

于 2012-10-07T15:23:30.597 に答える