web-dev-qa-db-ja.com

Capistranomkdir権限が拒否されました

cap production deployを実行すると、cannot create directory ‘/var/www/application/repo’: Permission deniedが表示されます。

これまでのところ、次のようなデプロイユーザーを作成しました。

adduser deploy
adduser deploy Sudo

私はこのユーザーをCapistranoで使用しています。

実際、[email protected]にログインすると、デフォルトではSudo権限がありません。毎回、Sudo suのように明示的に有効にする必要があります。

私は2つの可能な解決策を見ます:

  1. CapistranoでSudoを有効にする
  2. UbuntuでSudoを有効にする

残念ながら、どちらも実行する方法がわかりません。

17
Kamil Lelonek

デフォルトでは、Capistrano3は/var/wwwにデプロイされますが、これはdeployユーザーが書き込むことはできません。次のコマンドを使用して、/var/wwwの所有権をdeployユーザーに変更する必要があります。

Sudo chown deploy:deploy /var/www/

この後、許可エラーなしでアプリをデプロイできるようになります。

39
shankardevy

ボブ・ロバーツの功績。

あなたのコメントを見逃しやすいので、これは答えになるはずだと思います。私はそれを数回逃したことを知っています。

Sudo chown -R deploy:deploy /var/www/

またはあなたのユーザー名が何であれ

Sudo chown -R username:username /var/www/
3
longJOURNEY

GoRails "Deploy Ruby on Rails To Production in 2019" "の優れたチュートリアルに従って、ここでも同じエラーが発生しました。ユーザー「deploy」を作成し、「home/deploy」にアプリをデプロイするように設定します。サーバーで作成したユーザー名を使用する必要があることを忘れないでください。したがって、deployのディレクトリは「home/USERNAME」です。

0
OBrooks