Вы создали каталоги в /var/www/app_name
, или они были созданы capistrano?
Несмотря на это, проблема в том, что /var/www/app_name/current
не должен быть каталогом - это должна быть символическая ссылка на текущий выпуск в /var/www/app_name/releases/
. Ошибка возникает, когда capistrano завершил создание новой папки выпуска в /var/www/app_name/releases/
и пытается установить символическую ссылку /var/www/app_name/current
на нее.
Возможно, вы сможете исправить свои проблемы, переименовав /var/www/app_name/current
(таким образом, у вас будет резервная копия, если что-то пойдет не так), и создайте символическую ссылку с /var/www/app_name/current
на самый последний выпуск в /var/www/app_name/releases/
, а затем выполните cap deploy
. (Удалите текущую резервную копию, если это работает).
Что касается лучшей практики, что бы вы ни делали, не используйте root . Вместо этого настройте пользователя (или используйте существующего пользователя), у которого есть только разрешения на необходимые каталоги (не читал ваши сценарии внимательно, но, вероятно, просто /var/www/app_name
.