1

こんにちはみんなpuppetに不慣れで、私はpuppetを使用してクライアントで次のコマンドを実行し、puppetクライアントでfastcgimodが有効になるようにします。lighttpd-enable-mod fastcgi

puppetサーバーとクライアントはどちらもubuntuマシンであり、私のlighttpdモジュールのinit.ppファイルは次のとおりです。

class lighttpd::install {
package { "lighttpd":
ensure => present,
}
 }

class lighttpd::conf {
file { "/etc/lighttpd/lighttpd.conf":
    ensure => present,
    owner => 'root',
    group => 'root',
    mode => 0600,
    source => "puppet:///modules/lighttpd/lighttpd.conf",
    require => Class["lighttpd::install"],
    }
}


class lighttpd::fastcgi {
file { "/etc/lighttpd/conf-available/10-fastcgi.conf":
    ensure => present,
    owner => 'root',
    group => 'root',
    mode => 0600,
    source => "puppet:///modules/lighttpd/10-fastcgi.conf",
    require => Class["lighttpd::install"],
    }

}

class lighttpd {
include lighttpd::install, lighttpd::conf, lighttpd::fastcgi

}

puppetクライアントでこのコマンドを実行するのを手伝ってください。

ありがとう

4

1 に答える 1

1

したがって、lighttpd :: fastcgiクラスを次のように変更すると、次のようになります。

class lighttpd::fastcgi {
  file { "/etc/lighttpd/conf-available/10-fastcgi.conf":
    ensure => present,
    owner => 'root',
    group => 'root',
    mode => 0600,
    source => "puppet:///modules/lighttpd/10-fastcgi.conf",
    require => Class["lighttpd::install"],
    notify => Exec["enable-mod-fastcgi"],
  }
  exec { "enable-mod-fastcgi":
    command => "/usr/bin/lighttpd-enable-mod fastcgi",
    refreshonly => true,
  }
}

(申し訳ありませんが、lighttpd-enable-modへのパスが間違っている可能性があります-ここにlighttpdはありません)。

これにより、「exec」に正しく通知されるはずです。'refreshonly'パラメータがtrueであるため、execは通知されたときにのみ呼び出されます。

于 2011-07-15T12:43:41.927 に答える