如何在 Puppet 中检查 Apache 版本

如何在 Puppet 中检查 Apache 版本

我需要根据服务器使用的是 Apache 2.2 还是 2.4 来应用不同的访问控制配置。据推测,这需要if检查 Apache 的版本。

我想知道这是否是我应该做的:

if versioncmp($apache_version, '2.4') >= 0 {
  requires     => 'all denied',
else
  order        => 'deny,allow',
  deny         => 'from all',
}

我对此的一个担心是它似乎正在检查显式版本。如果版本实际上是 2.4.6 怎么办?

$apache_version被指定为班级的顶部

$apache_version =  $::apache::apache_version

我甚至不知道这是否会起作用,因为我不确定该班级是否知道该::apache模块。

尽管看到评论说这种检查不应该在资源内进行(apache::vhost在本例中),但我还是嵌入了检查。原因是我不确定如何进行多行变量赋值,以便可以替换

order    => 'deny,allow',
deny     => 'from all',

类似于

else
  $apache2.2_ac
}

如果有人能给我指出正确的方向,我将不胜感激。

相关内容