Vagrant и Puppetlabs/apache настраивают два MPM

Vagrant и Puppetlabs/apache настраивают два MPM

В настоящее время я пытаюсь обновить свою машину Vagrant с модулями Puppet до PHP7, и, конечно, с обновленными модулями. Однако после обновления модуля puppetlabs/apache до версии 3.0.0, он терпит неудачу при попытке установить libapache2-mod-php7.0.

Я уже смог отследить причину. По какой-то причине модуль puppetlabs/apache устанавливает два MPM, когда ::apache::mod::phpвызывается класс. Он устанавливает оба события как prefork MPM. Причина, по которой устанавливается prefork, заключается в том, что модуль Puppet требует, чтобы вы загружали либо модуль prefork, либо itk при использовании PHP. Когда я определяю prefork или itk, он также загружает MPM события по какой-то причине. На данный момент вот как я вызываю модуль apache:

class { '::apache':
    default_vhost    => false,
    mpm_module       => 'false',
    server_signature => 'Off',
}

class { '::apache::mod::ssl': }
class { '::apache::mod::prefork': }
class { '::apache::mod::php': }
class { '::apache::mod::rewrite': }
class { '::apache::mod::headers': }

Когда я устанавливаю mpm_module на что-либо, кроме itk или prefork, он генерирует ошибку itk или prefork is required. Когда я удаляю ::apache::mod::preforkи устанавливаю настройку mpm_module на prefork, происходит то же самое, что и с текущей конфигурацией.

Когда я подключаюсь по ssh к Vagrant-машине после сбоя установки и удаляю строку LoadModule в файле /etc/apache2/modules-enabled/event.load, все работает как и ожидалось. Я понятия не имею, почему он загружает MPM событий, так как двойная загрузка MPM вызывает конфликт. Apache не знает, какой MPM загружать, поэтому установка libapache2-mod-php7.0 завершается неудачей.

Также нет выходных данных Puppet, показывающих, что созданы файлы event.conf/event.load, есть только prefork.

Notice: /Stage[main]/Apache::Mod::Prefork/Apache::Mpm[prefork]/File[/etc/apache2/mods-available/prefork.load]/ensure: defined content as '{md5}01b33d643f63126888cf702689f1f66d'
Notice: /Stage[main]/Apache::Mod::Prefork/Apache::Mpm[prefork]/File[/etc/apache2/mods-enabled/prefork.conf]/ensure: created
Notice: /Stage[main]/Apache::Mod::Prefork/Apache::Mpm[prefork]/File[/etc/apache2/mods-enabled/prefork.load]/ensure: created

Я запускаю его на Debian Stretch x64 с последней стабильной версией Vagrant, VirtualBox, Puppet и Apache/2.4.25.

решение1

Для тех, кому интересно, я открыл отчет об ошибке в Jira Puppetlabs, и, как и ожидалось, это оказался реальный баг. Он должен быть исправлен в следующем релизе, когда запрос на извлечение будет выполнен:https://tickets.puppetlabs.com/browse/MODULES-6677

Думаю, это решает эту проблему.

Связанный контент