有没有办法在vhost中创建“目录”并将其放入“包含”Puppet中?
像这样:
<Directory "/var/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
Include /etc/apache2/myconf.d/htpasswd.conf
</Directory>
我用“custom_fragment”做了,但是我想用“additional_includes”做,但是“additional_includes”不能在变量“目录”中使用它。
还有别的办法吗?
感谢。
答案 0 :(得分:2)
我假设您使用的是Puppet Enterprise或PLAM。
它确实没有您正在尝试的原生支持。 custom_fragment
实际上是一个非常好的选择。
如果您确实想通过专用哈希键添加include,则可以修改模块并打开pull请求。您基本上必须在模板中添加existing ones之类的部分。还有一些简短的documentation。这些家伙喜欢拉动请求; - )
答案 1 :(得分:0)
看起来你正在寻找阵列?
如果你使用的是puppetlabs模块,你可以使用&#34; additional_includes&#34;
additional_includes 指定其他静态,特定于vhost的Apache配置文件的路径。用于实现此模块不支持的唯一自定义配置。可以是一个数组。默认为&#39; []&#39;。
https://forge.puppetlabs.com/puppetlabs/apache#parameter-directories-for-apachevhost
apache::vhost { 'myvhost.whaterver.com':
port => 8080,
docroot => '/var/www/folder',
directories => [
{ 'path' => '/var/www/folder',
'options' => 'None',
'allow_override' => 'None',
'order' => 'Allow,Deny',
'allow' => 'from All',
'additional_includes' => ['/etc/apache2/myconf.d/htpasswd.conf', 'other settings'],
},],
`
答案 2 :(得分:-1)
这是一个适合我的代码段:
class {'apache':
default_vhost => false,
}
apache::vhost {'mydefault':
port => 80,
docroot => '/var/www/html',
directories => [
{
'path' => '/var/www/html',
'provider' => 'files',
},
{
'path' => '/media/my_builds',
'options' => 'Indexes FollowSymLinks MultiViews',
'allowoverride' => 'None',
'require' => 'all granted',
'additional_includes' => ['what Randy Black said'],
},
],
aliases => [
{
alias => '/my_builds',
path => '/media/my_builds',
},
],
}