Я использую официальный модуль Apache для установки LAMP в Redhat Linux и использую коллекции программного обеспечения, чтобы иметь возможность использовать более высокую версию PHP, чем стандартная версия RHEL 7.
] Пакет RHSCL rh-php70-php помещает файл, позволяющий Apache анализировать php: / opt / rh / httpd24 / root / etc / httpd / conf. d / rh-php70-php.conf
Однако Puppet очищает этот файл в следующем Puppetrun, поскольку он не управляется модулем Puppet Apache (purge_configs => true).
Это хорошо, однако, как Могу ли я сделать исключение только для указанного выше файла, не редактируя сам модуль Apache?
Я использую этот пример:
https://tickets.puppetlabs.com/browse/MODULES-2916
И попробуйте чтобы SCL PHP 5.6 работал с модулем Puppet Apache, как в документации:
https://forge.puppet.com/puppetlabs/apache/1.4.1#class-apachemodphp
TL; DR: я устанавливаю / управляю PHP 5.6 из Redhat SCL через apache :: mod :: php, однако он сохраняет конфигурацию файлов. Нужно ли мне настраивать шаблон или файл марионетки, чтобы эти конфигурации отменялись и не сохранялись в файлах?
Можно использовать ресурс file
, но без данных о содержимом.
Например:
file { '/opt/rh/httpd24/root/etc/httpd/conf.d/rh-php70-php.conf':
ensure => file,
owner => 'httpd',
group => 'httpd',
mode => '0644',
require => Package['rh-php70-php','httpd'],
}
Это обеспечит существование файла в указанном месте, но не изменит его содержимое. Когда запускается марионетка, она не удалит файл.
.