Поместите директиву Include внутри каталога в виртуальный хост с марионеткой

Есть ли способ создать «Каталог» на виртуальном хосте и поместить его в «Включить» с помощью 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» не может использовать его внутри переменной «каталоги».

Есть ли другой способ?

Спасибо.


person jotacor    schedule 28.08.2014    source источник


Ответы (3)


Я предполагаю, что вы используете Puppet Enterprise или PLAM.

У него действительно нет встроенной поддержки того, что вы пытаетесь. custom_fragment на самом деле очень хороший выбор.

Если вы действительно хотите добавить включение с помощью выделенного хеш-ключа, вы можете изменить модуль и открыть запрос на извлечение. В основном вам нужно будет добавить раздел, например существующие в шаблон. Кроме того, краткая документация. Ребята любят запросы на вытягивание ;-)

person Felix Frank    schedule 28.08.2014

Похоже, вы ищете массив?

если вы используете модуль puppetlabs, вы можете использовать «additional_includes»

Additional_includes Указывает пути к дополнительным статическим файлам конфигурации 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'],
      },],

`

person Randy Black    schedule 18.11.2014

Вот фрагмент, который работает для меня:

    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',
                    },
            ],
    }
person Robert Fey    schedule 31.03.2015