Help us understand the problem. What is going on with this article?

自動デプロイ(Capistrano)でエラー mkdir: ディレクトリ `/var/www' を作成できません: 許可がありません

Capistranoで自動デプロイをしていると、エラーが発生しました

Image from Gyazo

テキストだと下記ですね

mkdir stdout: Nothing written
mkdir stderr: mkdir: ディレクトリ `/var/www' を作成できません: 許可がありません
mkdir: ディレクトリ `/var/www' を作成できません: 許可がありません

このエラー"var/www/アプリ名"のディレクトリにしている場合は、パーミッションの問題等だと思いますが、、、

「 "var/www/アプリ名"使ってないんですけど!!!

 なんでエラーが出るんだよ!!!
 "www"が気に食わないから、別のフォルダ名にしてるんですけど!!!
 他の記述も確認したけど、全部"var/www/アプリ名"書いてねええよ!!! 」

という人向けに対処方法を解説します。

原因

CapistranoのHPにも記載されていますが、
デフォルトだと"var/www/アプリ名"を読み込見ます。
でも"var/www/アプリ名"のディレクトリにアプリを保存していないので、
「アプリないから、自動デプロイできないで」という状態です。

だから手動デプロイだとうまく行きますが、Capistranoを使った自動デプロイではエラーが発生したわけです。

解決策

結論: Capistranoのデフォルト設定が"var/www/アプリ名"を読み込むので、オプション設定で変更する。

deploy.rb
# 下記を挿入してください
set :deploy_to, '/var/○○○(ディレクトリ名)/○○○(アプリ名)'

これを挿入することで、EC2にあるアプリの保存場所を正しく認識され、Capistranoで読み込みが可能となります。

あとは自動デプロイを実行しましょう

# アプリケーションのディレクトリで実行する
$ bundle exec cap production deploy

今度はうまくいくはずです。

[参考](https://capistranorb.com/documentation/getting-started/configuration/)

mylevel
誰よりもわかりやすく端的に説明することが得意です。 記事投稿したらお知らせしますので、ぜひTwitterもフォローしてください きっとあなたの役にたちます
https://twitter.com/nousi201
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした