Назад | Перейти на главную страницу

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

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

Я уже смог отследить это до причины. По какой-то причине модуль puppetlabs / apache устанавливает два MPM, когда ::apache::mod::php класс вызывается. Он устанавливает оба события как предварительный разветвитель 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 является обязательным. Когда я удаляю ::apache::mod::prefork и установите для параметра mpm_module значение prefork, то же самое происходит с текущим конфигом.

Когда я подключаюсь к машине Vagrant по ssh после сбоя установки и удаляю строку 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.

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

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