Actualmente estoy intentando actualizar mi máquina Vagrant con módulos Puppet a PHP7 y, por supuesto, con módulos actualizados. Sin embargo, desde que se actualizó el módulo puppetlabs/apache a la versión 3.0.0, falla al intentar instalarlo libapache2-mod-php7.0
.
Ya he podido localizar la causa. Por alguna razón, el módulo puppetlabs/apache configura dos MPM cuando ::apache::mod::php
se llama a la clase. Establece tanto el evento como el MPM previo a la bifurcación. La razón por la que se configura prefork es porque el módulo Puppet requiere que cargues el módulo prefork o itk cuando usas PHP. Cuando defino prefork o itk, también carga el evento MPM por algún motivo. A partir de ahora, así es como llamo al módulo de 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': }
Cuando configuro mpm_module en algo que no sea itk o prefork, genera el error itk o prefork es obligatorio. Cuando elimino ::apache::mod::prefork
y configuro la configuración mpm_module en prefork, sucede lo mismo que con la configuración actual.
Cuando entro a la máquina Vagrant después de que falló la instalación y elimino la línea LoadModule en el /etc/apache2/modules-enabled/event.load
archivo, todo funciona como se esperaba. No tengo idea de por qué está cargando el evento MPM, ya que la carga doble de MPM está causando el conflicto. Apache no tiene idea de qué MPM cargar, por lo que falla en la instalación de libapache2-mod-php7.0.
Tampoco hay una salida de Puppet que muestre que se crean los archivos event.conf/event.load, solo los 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
Lo estoy ejecutando en Debian Stretch x64, con la última versión estable de Vagrant, VirtualBox, Puppet y Apache/2.4.25.
Respuesta1
Para aquellos interesados, abrí un informe de error en Jira de Puppetlabs y, como era de esperar, resultó ser un error real. Debería corregirse en una próxima versión cuando se complete la solicitud de extracción:https://tickets.puppetlabs.com/browse/MODULES-6677
Supongo que eso resuelve este problema.