"Aucun MPM chargé", mais je n'utilise même pas mpm

10

Exécution d'Apache2 sur Ubuntu Precise64 dans Vagrant. Quand j'essaye de le démarrer, il dit:

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.

Mais le fait est que mon /etc/apache2/apache2.conffichier n'appelle MPM nulle part! Je le collerais ici mais ça ferait un énorme post ...

J'ai essayé de rechercher le journal des erreurs, mais je ne le trouve nulle part non plus. Aidez-moi?

Edit: apache2 -l donne ceci:

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                    

Il semble donc qu'aucun mpm ne soit installé, non? Si aucun MPM n'est installé et qu'aucun MPM n'est mentionné dans mon fichier de configuration, pourquoi est-ce que je vois toujours cette erreur?

ezuk
la source
1
Quelle est la sortie de dpkg -l 'apache2-mpm *'
sciurus
pour moi, il suffisait de purger, réinstaller et copier sur les anciens fichiers de configuration, quel que soit le coupable;)
Melissa Loos

Réponses:

10

apache2 -t -D DUMP_MODULES (ou -M) devrait vous donner une liste de modules. Vous devriez voir worker.c ou prefork.c ou event.c. Utilisez-le pour déterminer le MPM que vous utilisez.

Regardez dans vos fichiers de configuration s'il y a quelque chose comme (si vous utilisez le MPM prefork).

Voici un exemple:

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

Ajoutez un bloc comme celui-ci à votre fichier de configuration et cela devrait fonctionner. Vérifiez que l'apache2-mpm-prefork (ou travailleur, ou événement) est correctement installé.

Lisez cette documentation pour vous aider à choisir (c'est obligatoire) le MPM approprié pour votre utilisation: http://httpd.apache.org/docs/2.2/mpm.html

Vinz
la source
Mise à jour de la question d'origine avec la sortie de la commande ... Il semble qu'il n'y ait pas de modèle mpm du tout, donc je ne comprends pas pourquoi je vois l'erreur. Une idée?
ezuk
1
Vous devez choisir un module MPM, c'est obligatoire.
Vinz
Salut @ Vinz. J'ai en fait le même problème (Ubuntu 13.10, Apache 2.4.6) et j'ai essayé votre solution. Il me manquait ce bloc dans mon fichier de configuration, mais l'ajouter n'a pas résolu le problème. D'autres idées? Je suis un peu perdu ici.
Itai Bar-Haim,
@ ItaiBar-Haim: Quel est le message d'erreur après avoir ajouté ce bloc?
Vinz
@Vinz, c'était la même erreur. Cependant, j'ai découvert que lorsque j'utilise la configuration par défaut d'Apache et que je n'essaye pas de la remplacer de quelque façon que ce soit, les choses semblent fonctionner.
Itai Bar-Haim,
10

J'ai eu le même problème. J'ai accidentellement écrasé /etc/apache2/apache2.conf. Pour rectifier, j'ai dû exécuter sudo apt-get purge apache2pour supprimer complètement apache, puis exécuter sudo apt-get install apache2pour récupérer le apache2.conffichier d'origine.

REMARQUE : sauvegardez tous les fichiers personnalisés sous /etc/apache2/sites-availableavant de purger.

JudRoman
la source
J'ai eu un problème similaire avec l'exécution de Vagrant et il s'avère que j'ai accidentellement effacé tout le contenu de apache2.conf. Un peu plus facile à revenir cependant vagrant destroy && vagrant up.
forsvunnet