EC2 - невозможно развернуть как пользователя bitnami

Я использую Capistrano для развертывания приложения Rails в Amazon EC2. В файлах развертывания у меня есть следующие учетные данные для подключения к Amazon EC2:

set :user, "bitnami"
#set :user, "root"
server "ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com", :app, :web, :db, :primary => true
ssh_options[:keys] = ["/Users/ada/my_amazon_ec2.pem"]

Когда я запускаю cap deploy:setup и cap deploy:check, я получаю следующее:

The following dependencies failed. Please check them and try again:
--> You do not have permissions to write to `/www/myapp'. (ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com)
--> You do not have permissions to write to `/www/myapp/releases'. (ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com)

Как это возможно? Я могу подключиться через SSH к EC2 как пользователь bitnami, но когда я пытаюсь это сделать как пользователь root, я получаю сообщение о том, что я должен использовать bitnami пользователя для входа в систему, и соединение закрывается.

Если я попытаюсь изменить файлы развертывания, поменяю пользователя bitnami на root, весь процесс развертывания пройдет нормально, но затем, когда я войду через SSH (как >bitnami пользователя) в EC2, я не вижу никаких файлов, которые нужно развернуть, окончательный каталог просто пуст.

Что не так в этом случае?

Большое спасибо


person user984621    schedule 02.05.2013    source источник


Ответы (4)


sudo chown -R <user> <folder path>

сделал трюк. Пользователь не был владельцем папки, поэтому проверка крышки выдавала ошибку.

person Lavixu    schedule 22.07.2013

Есть ли у вас уже созданный каталог /www/myapp и есть ли у пользователя bitnami права на запись в него?

Предположим, ваше приложение называется «myapp123», и вы хотите развернуть его в /opt/bitnami/apps/myapp123.

Создайте каталог приложения и установите соответствующие разрешения:

mkdir -p /opt/bitnami/apps/myapp123
chown -R bitnami /opt/bitnami/apps/myapp123

Добавьте следующие параметры в файл конфигурации развертывания:

set :application, "myapp123"
set :deploy_to, "/opt/bitnami/apps/#{application}"

Собираетесь ли вы использовать Phussion Passenger? В этом случае вам также потребуется добавить в конфигурацию Capistrano следующее:

namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart, :roles => :app, :except => { :no_release => true } do
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end
end

Какой AMI BitNami вы используете?

person danoo    schedule 02.05.2013
comment
Привет, первая проблема, когда я пытаюсь создать каталог: mkdir: cannot create directory '/opt/bitnami/apps/SherlockDocs': Permission denied Как я могу настроить разрешения для пользователя bitnami? - person user984621; 02.05.2013
comment
что касается Phussion Passenger - на данный момент нет, но я определенно готов его использовать, мне просто нужно развернуть приложение в EC :) Последние полтора дня я пытался это сделать... разочарование. - person user984621; 02.05.2013
comment
Используйте sudo для выполнения команд с правами суперпользователя: sudo mkdir -p /opt/bitnami/apps/SherlockDocs; sudo chown -R bitnami /opt/bitnami/apps/SherlockDocs - person danoo; 05.05.2013

Стеки Bitnami обычно имеют веб-корневой каталог по умолчанию в

/opt/bitnami/apache2/htdocs

Вместо этого попробуйте записать в эту папку (используя пользователя bitnami).

Если вы хотите изменить корневой веб-каталог на другой, вам нужно будет создать каталог и установить соответствующие разрешения, а также сообщить Apache, что вы изменили корневой веб-сайт (нажмите, чтобы узнать, как это сделать).

Если у вас возникли проблемы с созданием каталога или применением разрешений, добавьте к командам префикс sudo, например sudo mkdir www.

person Tomanow    schedule 02.05.2013
comment
Здравствуйте, спасибо за ваш ответ. Ну, наконец-то я могу создать там каталог, но когда я развертываю приложение, я не вижу никаких ошибок в окне терминала, но команда ls показывает по-прежнему только пустой каталог, в котором было развернуто приложение... Есть а не развернутые файлы. Что может быть еще не так? - person user984621; 02.05.2013
comment
Еще одна вещь - если я открою в браузере URL-адрес с моим приложением (amazon_url.com/my_app), я получаю только страницу Запрещено У вас нет прав доступа к /my_app/ на этом сервере. Вот права доступа к каталогу my_app: drwxrwxr-x 2 bitnami bitnami - person user984621; 02.05.2013
comment
Сначала вам нужно будет запустить сервер rails, и если вы развертываете в режиме разработки, вам нужно будет добавить :3000 после .com, поэтому myurl.com:3000 - person Tomanow; 02.05.2013

У тебя есть это:

ssh_options[:auth_methods] = ["publickey"]
person sites    schedule 05.05.2013