0

Aegir をインストールするためのレシピを書きました。aegir レシピを使用して aws で新しいインスタンスをブートストラップしたいのですが、インストールはうまくいきますが、「Drupal インストールが見つかりません」というエラーがスローされるため、「drush hostmaster-install」の実行に失敗します。

手動でマシンに入り、aegirユーザーでchef-clientを実行すると、スムーズにインストールされます。

ubuntuユーザーでsshからec2へ
sudo su - aegir
須藤シェフクライアント

しかし、ubuntu ユーザーで新しいインスタンスをブートストラップすると、インストールに失敗します。ユーザーを切り替えてシェフクライアントを実行するというアイデアに感謝します。

「apt-get-update」を実行する
  コマンド「sudo apt-get update」
終わり

%w{curl apache2 php5 libapache2-mod-php5 openssl php-pear php5-cli php5-common 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 postfix rsync sudo libcurl3 libcurl3-gnutls mysql-client mysql-common}.each do |x|
    パッケージ×ド
        アクション:インストール
    終わり
終わり

ユーザー「aegir」は
    アクション:作成
    サポート :manage_home => true
    コメント「aegir ユーザー」
    ホーム "#{node[:aegir][:dir]}"
    シェル「/bin/bash」
    パスワード「VenEucAf1」
終わり

グループ「www-data」
    アクション:変更
    メンバー「エーギル」
    true を追加
終わり

bash "install_mysql" を行う
    ユーザー「ルート」
    コード /etc/sudoers.d/aegir
    chmod 440 /etc/sudoers.d/aegir
    EOH
    not_if { ::File.exists?("/etc/sudoers.d/aegir") }
終わり


bash "Install_drush" を行う
    ユーザー「ルート」
    cwd "/var/aegir"
    コード '/var/aegir', 'USER' => 'aegir' })
        cwd "#{node[:aegir][:dir]}"
    コマンド true、:restart => true、:reload => true
    アクション:開始
終わり

完全なレシピを更新しました。

エラー: ユーザー aegir が存在しません

4

1 に答える 1

0

HOME環境変数を設定する必要があるようです。これを実行リソースに追加できます。

execute 'drush hostmaster-install' do
  user 'aegir'
  environment 'HOME' => '/home/whatever'
end
于 2015-01-15T19:12:49.470 に答える