4

Vagrant と Puppet を使用して、Apache と PHP を Ubuntu にインストールしています。ただし、実行中に以下のエラーが発生しますvagrant up。テンプレートのパスは正しいと思いますが、なぜエラーが発生するのでしょうか?

ここでapt-get updateは、何よりも先に実行されるように変更されたセットアップを使用しています

エラー

←[1;35merr: /Stage[main]/Php/File[/etc/php5/apache2/apc.ini]/ensure: change from absent to present failed: Could not set 'present on ensure: No such file or dir ectory - /etc/php5/apache2/apc.ini.puppettmp_6187 at /tmp/vagrant-puppet/modules -0/php/manifests/init.pp:44←[0m

←[1;35merr: /Stage[main]/Php/File[/etc/php5/apache2/php.ini]/ensure: change from absent to present failed: Could not set 'present on ensure: No such file or dir ectory - /etc/php5/apache2/php.ini.puppettmp_6687 at /tmp/vagrant-puppet/modules -0/php/manifests/init.pp:36←[0m

/modules/php/manifests/init.pp

file { "/etc/php5/apache2/php.ini":
  ensure => present,
  mode => 644,
  content => template("php/etc/php5/conf.d/php.ini.erb"),
  require => Package["php5"],
  notify => Service["apache"];
}

file { "/etc/php5/apache2/apc.ini":
  ensure => present,
  mode => 644,
  content => template("php/etc/php5/conf.d/apc.ini.erb"),
  require => [ Package["php5"], Package["php-apc"], Package["apache"] ],
  notify => Service["apache"];
}

テンプレート

  • /modules/php/templates/etc/php5/conf.d/apc.ini.erb
  • /modules/php/templates/etc/php5/conf.d/php.ini.erb
4

2 に答える 2

11

ディレクトリ /etc/php5/apache2 が存在することを確認してください。

file { [ "/etc", "/etc/php5", "/etc/php5/apache2" ]:
   ensure => directory,
   before => File['/etc/php5/apache2/php.ini'],
}

または少し少ない

exec { "ensure /etc/php5/apache2":
  command => "mkdir -p /etc/php5/apache2",
  creates => "/etc/php5/apache2"
}

これはすべて、実行順序に関する仮定によるものと思われます。

詳細情報 @パペットのドキュメント

于 2012-12-04T18:32:56.363 に答える
1

Package["php5"] がパスを作成していてよろしいですか?

テンプレートからファイルを作成しようとすると、 /etc/php5/apache2 フォルダーが存在しないため、不平を言っているようです。

puppetmaster 側を破棄する場合は、puppetmaster プロセス ID を見つけて実行できます。

strace -v -f -ff -p $PID -o strace.log

次に、エージェントを再度実行し、puppetmaster に移動して次を実行します。

grep "etc/php5/apache2" strace.log.*

puppetmaster に問題がない場合は、読み取り呼び出しがエラーなしで表示されます。そうでない場合、puppetmaster がファイルを開こうとしたときに「そのようなファイルやディレクトリはありません」というメッセージが表示されます。とにかく、テンプレート呼び出しに問題があるとは思わないので、私には問題ないようです。

于 2012-10-08T16:36:52.790 に答える