我需要根据服务器使用的是 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
}
如果有人能给我指出正确的方向,我将不胜感激。