Переключить пользователя-шеф-клиента во время начальной загрузки
Я написал рецепт для установки Aegir. Я хотел бы загрузить новый экземпляр на aws с рецептом aegir. Установка проходит успешно, но не удается выполнить "drush hostmaster-install", так как выдает ошибку "Установка Drupal не найдена".
Он устанавливается без проблем, когда я вручную захожу на компьютер и запускаю chef-клиент с пользователем aegir.
SSH к EC2 с пользователем Ubuntu судо су - эгир sudo шеф-клиент
Но установка терпит неудачу, когда я загружаю новый экземпляр с пользователем Ubuntu. Я ценю любую идею о переключении пользователей для запуска клиента Chef.
выполнить "apt-get-update" do команда "sudo apt-get update" конец % w {curl apache2 php5 libapache2-mod-php5 openssl php-pear php5-cli php5-общий php5-curl php5-dev php5-gd php5-imagick php5-imap php5-intl php5-mcrypt php5-memcache php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-tidy php5-gd php5-xmlrpc php5-xsl apache2-utils постфикс rsync sudo libcurl3 libcurl3-gnutls mysql-client mysql-common}.each do |x| пакет х сделать действие: установить конец конец пользователь "aegir" делает действие: создать поддерживает:manage_home => true комментарий "Aegir User" home "#{node[:aegir][:dir]}" оболочка "/bin/bash" пароль "VenEucAf1" конец группа "www-data" делает действие: изменить Члены "Эгир" добавить истину конец bash "install_mysql" do пользователь "root" код /etc/sudoers.d/aegir chmod 440 /etc/sudoers.d/aegir EOH not_if {::File.exists?("/etc/sudoers.d/aegir") } конец Баш "Install_drush" сделать пользователь "root" cwd "/var/aegir" код '/var/aegir', 'USER' => 'aegir' }) cwd "#{node[:aegir][:dir]}" команда true,:restart => true,:reload => true действие: начать конец
Обновил мой полный рецепт.
Ошибка: пользователь aegir не существует
1 ответ
Sounds like you might need to set the HOME
переменная окружения. You can add it to the execute resource:
execute 'drush hostmaster-install' do
user 'aegir'
environment 'HOME' => '/home/whatever'
end