If you know exactly what modules you plan to use with a website, and you are sure you don’t need the flexibility of adding in those modules later, you can compile Apache with the modules built in. Here is the configuration statement for a minimal Apache compile with server side includes. This was for an Apache 2 server (2.0.54-2.0.58):
./configure --prefix=/path/to/apache2 --disable-actions --disable-asis --disable-charset-lite --disable-env --disable-imap --disable-status --disable-cgi --disable-cgid --disable-userdir --enable-include
Here is a slightly more feature rich version that includes ssl, and could be used to add PHP support to:
./configure --prefix=/path/to/apache2super --disable-actions --disable-asis --disable-charset-lite --disable-env --disable-imap --disable-include --disable-status --disable-cgi --disable-cgid --disable-userdir --enable-ssl --enable-module=so
To add PHP support as a module to the above, you could use:
./configure --with-apxs2=/path/to/apache/bin/apxs
If you need mysql support:
./configure --with-apxs2=/path/to/apache/bin/apxs --with-mysql
If you need mysql and zlib support (works with Joomla)::
./configure --with-apxs2=/path/to/apache/bin/apxs --with-mysql --with-zlib
This is done in the root of the php source.
For more information on configuring Apache2, see this doc:
Configure the source tree