"no MPM loaded", but I'm not even using mpm

Solution 1:

apache2 -t -D DUMP_MODULES (or -M) should give you a list of modules. You should see worker.c or prefork.c or event.c. Use this to determine which MPM you're using.

Look in your config files if there's something like (if you use the prefork MPM).

Here's an example :

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

Add a block like this one to your config file and it should work. Verify that the apache2-mpm-prefork (or worker, or event) is correctly installed.

Read this documentation to help you choose (it is mandatory) the appropriate MPM for your usage : http://httpd.apache.org/docs/2.2/mpm.html

Solution 2:

I had the same issue. I accidentally overwrote /etc/apache2/apache2.conf. To rectify, I had to run sudo apt-get purge apache2 to completely remove apache and then run sudo apt-get install apache2 to get the original apache2.conf file back.

NOTE: Back up any custom files under /etc/apache2/sites-available before purging.