将Include指令放入vhost with puppet的目录中

将Include指令放入vhost with puppet的目录中,puppet,puppetlabs-apache,Puppet,Puppetlabs Apache,有没有办法在vhost中创建一个“目录”并将其放入Puppet的“Include”中 像这样: <Directory "/var/www"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted Include /etc/apache2/myconf.d/htpasswd.conf </Directory> 选项索引跟随符号链接多

有没有办法在vhost中创建一个“目录”并将其放入Puppet的“Include”中

像这样:

<Directory "/var/www">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
    Include /etc/apache2/myconf.d/htpasswd.conf
</Directory>

选项索引跟随符号链接多视图
不允许超限
要求所有授权
Include/etc/apache2/myconf.d/htpasswd.conf
我用“custom_fragment”做了,但我想用“additional_includes”,但“additional_includes”不能在变量“directories”中使用

还有别的办法吗


谢谢。

我猜您正在使用Puppet Enterprise或

它确实不支持您正在尝试的内容<代码>自定义片段实际上是一个很好的选择


如果确实希望通过专用哈希键添加include,则可以修改模块并打开pull请求。您基本上需要向模板中添加一个类似的部分。还有一些简短的介绍。这些家伙喜欢拉车请求;-)

看起来你在找一个数组

如果您使用的是puppetlabs模块,则可以使用“附加包含”

额外费用包括 指定指向其他静态、vhost特定Apache配置文件的路径。用于实现此模块不支持的唯一自定义配置。可以是数组。默认为“[]”


`

这里有一个对我有用的片段:

    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',
                    },
            ],
    }
    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',
                    },
            ],
    }