1

嗨,伙计们是 puppet 的新手,我想使用 puppet 在客户端上执行以下命令,以便在 puppet 客户端上启用快速 cgi mod。lighttpd-启用-mod fastcgi

puppet server 和 client 都是 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' 参数为真,只有在收到通知时才会调用 exec。

于 2011-07-15T12:43:41.927 回答