0

有什么方法可以在虚拟主机中创建一个“目录”并将 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”不能在变量“directories”中使用它。

还有其他方法吗?

谢谢。

4

3 回答 3

2

我假设您使用的是 Puppet Enterprise 或PLAM

它确实对您正在尝试的内容没有原生支持。custom_fragment这里其实是一个非常不错的选择。

如果您真的想通过专用的哈希键添加包含,您可以修改模块并打开拉取请求。您基本上必须在模板中添加一个类似于现有部分的部分。此外,一些简短的文档。这些家伙喜欢拉请求;-)

于 2014-08-28T20:11:18.930 回答
0

看起来你正在寻找一个数组?

如果您使用的是 puppetlabs 模块,则可以使用“additional_includes”

additional_includes 指定其他静态、特定于 vhost 的 Apache 配置文件的路径。对于实现此模块不支持的独特自定义配置很有用。可以是一个数组。默认为“[]”。

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

`

于 2014-11-18T14:45:51.357 回答
-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',
                    },
            ],
    }
于 2015-03-31T15:55:39.763 回答