Подтвердить что ты не робот

Разрешение Capistrano mkdir отклонено

Когда я запускаю cap production deploy, я получаю cannot create directory ‘/var/www/application/repo’: Permission denied.

Пока я создал пользователя развертывания, например:

adduser deploy
adduser deploy sudo

и я использую этого пользователя в Capistrano.

В самом деле, когда я регистрируюсь на [email protected], у меня нет разрешения sudo по умолчанию, каждый раз, когда мне нужно явно его включить, sudo su.

Я вижу два возможных решения:

  • Включить sudo в Capistrano
  • Включить sudo в Ubuntu

К сожалению, я не знаю, как сделать ни один из них.

4b9b3361

Ответ 1

По умолчанию Capistrano 3 развертывается до /var/www, который не доступен для записи пользователем deploy. Вам необходимо изменить права собственности на пользователя /var/www на deploy, используя следующую команду.

sudo chown deploy:deploy /var/www/

После этого вы сможете развернуть свое приложение без ошибки разрешения.

Ответ 2

Благодарим Боба Робертса.

Я думаю, что это должен быть ответ, так как легко пропустить ваш комментарий. Я знаю, что пропустил это несколько раз.

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

или как вас зовут

sudo chown -R username:username /var/www/

Ответ 3

Была такая же ошибка здесь, после хорошего учебника GoRails "Развертывание Ruby on Rails To Production в 2019 году", где он создал пользователя "deploy" и настроил его на развертывание приложения в "home/deploy". Не забывайте, что вы должны использовать имя пользователя, созданное на сервере. Так что каталог развертывания - "home/USERNAME".