"Sem MPM carregado", mas nem estou usando mpm

10

Executando o Apache2 no Ubuntu Precise64 no Vagrant. Quando tento iniciá-lo, ele diz:

vagrant@precise64:/etc/apache2$ /etc/init.d/apache2 start
 * Starting web server apache2
 *
 * The apache2 configtest failed.
Output of config test was:
AH00534: apache2: Configuration error: No MPM loaded.
Action 'configtest' failed.
The Apache error log may have more information.

Mas o problema é que meu /etc/apache2/apache2.confarquivo não chama MPM em lugar nenhum! Gostaria de colá-lo aqui, mas faria um post enorme ...

Tentei procurar no log de erros, mas também não consigo encontrá-lo. Socorro?

Edit: apache2 -l dá o seguinte:

vagrant@precise64:/$ apache2 -l  
Compiled in modules:             
  core.c                         
  mod_so.c                       
  mod_watchdog.c                 
  http_core.c                    
  mod_log_config.c               
  mod_logio.c                    
  mod_version.c                  
  mod_unixd.c                    
  mod_unixd.c                    

Parece que nenhum mpm está instalado, certo? Se nenhum MPM instalado e nenhum MPM mencionado no meu arquivo de configuração, por que ainda estou vendo esse erro?

ezuk
fonte
1
Qual é a saída do dpkg -l 'apache2-mpm *'
sciurus
para mim foi suficiente para remoção, reinstalação e copiar os antigos arquivos de configuração, qualquer que seja o culpado era;)
Melissa Loos

Respostas:

10

apache2 -t -D DUMP_MODULES (ou -M) deve fornecer uma lista de módulos. Você deve ver worker.c ou prefork.c ou event.c. Use isso para determinar qual MPM você está usando.

Procure nos seus arquivos de configuração se houver algo parecido (se você usar o MPM prefork).

Aqui está um exemplo:

<IfModule mpm_prefork_module>
StartServers          5
MinSpareServers       5
MaxSpareServers      10
MaxClients          150
MaxRequestsPerChild   0
</IfModule>

Adicione um bloco como este ao seu arquivo de configuração e ele deve funcionar. Verifique se o apache2-mpm-prefork (ou worker, ou event) está instalado corretamente.

Leia esta documentação para ajudá-lo a escolher (é obrigatório) o MPM apropriado para seu uso: http://httpd.apache.org/docs/2.2/mpm.html

Vinz
fonte
Atualizada a pergunta original com a saída do comando ... Parece que não há modelo mpm, portanto não entendo por que estou vendo o erro. Qualquer ideia?
ezuk
1
Você deve escolher um módulo MPM, é obrigatório.
Vinz 18/10
Olá @Vinz. Na verdade, tenho o mesmo problema (Ubuntu 13.10, Apache 2.4.6) e tentei sua solução. Estava faltando esse bloco no meu arquivo de configuração, mas adicioná-lo não resolveu o problema. Alguma outra ideia? Estou meio perdido aqui.
Itai Bar-Haim
@ ItaiBar-Haim: Qual é a mensagem de erro após adicionar este bloco?
Vinz #
@ Vinz, foi o mesmo erro. No entanto, descobri que quando uso a configuração padrão do Apache e não estou tentando substituí-la de forma alguma as coisas parecem funcionar.
Itai Bar-Haim
10

Eu tive o mesmo problema. Eu acidentalmente substitui /etc/apache2/apache2.conf. Para corrigir, tive que executar sudo apt-get purge apache2para remover completamente o apache e depois executar sudo apt-get install apache2para recuperar o apache2.confarquivo original .

NOTA : Faça backup de todos os arquivos personalizados /etc/apache2/sites-availableantes de limpar.

JudRoman
fonte
Eu tive um problema semelhante ao executar o Vagrant e, por acaso, apaguei acidentalmente todo o conteúdo do apache2.conf. Um pouco mais fácil de reverter embora vagrant destroy && vagrant up.
forsvunnet