Para os interessados, abri um relatório de bug no Jira da Puppetlabs e, como esperado, acabou sendo um bug real. Deve ser corrigido em uma próxima versão quando o pedido de pull for concluído: link
Acho que isso resolve esse problema.
Atualmente, estou tentando atualizar minha máquina do Vagrant com módulos do Puppet para o PHP7 e, é claro, com módulos atualizados. No entanto, desde a atualização do módulo puppetlabs / apache para a versão 3.0.0, ele está falhando quando está tentando instalar o libapache2-mod-php7.0
.
Eu já consegui rastreá-lo até a causa. Por alguma razão, o módulo puppetlabs / apache está definindo dois MPMs quando a classe ::apache::mod::php
está sendo chamada. Define o evento como o MPM prefork. A razão pela qual o prefork está sendo configurado, é porque o módulo Puppet requer que você carregue o módulo prefork ou itk ao usar o PHP. Quando eu defino o prefork ou o itk, ele também carrega o MPM do evento por algum motivo. A partir de agora, é assim que eu chamo o módulo do 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': }
Quando eu configuro o mpm_module para qualquer coisa diferente de itk ou prefork, ele gera o erro itk ou prefork é obrigatório. Quando eu removo ::apache::mod::prefork
e defino a configuração de mpm_module para prefork, o mesmo acontece com a configuração atual.
Quando eu ssh na máquina do Vagrant após a falha na instalação e removo a linha LoadModule no arquivo /etc/apache2/modules-enabled/event.load
, tudo funciona como esperado. Eu não tenho idéia por que ele está carregando o evento MPM, como o carregamento MPM duplo está causando o conflito. O Apache não tem idéia de qual MPM carregar, assim falha na instalação da instalação libapache2-mod-php7.0.
Também não há saída do Puppet que mostre que os arquivos event.conf / event.load foram criados, apenas os do 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
Eu estou rodando no Debian Stretch x64, com a última versão estável do Vagrant, VirtualBox, Puppet e Apache / 2.4.25.
Para os interessados, abri um relatório de bug no Jira da Puppetlabs e, como esperado, acabou sendo um bug real. Deve ser corrigido em uma próxima versão quando o pedido de pull for concluído: link
Acho que isso resolve esse problema.
Tags php7 puppet vagrant apache-2.4 mod-php