Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've just installed the httpd package in RHEL 6.1 (which provides Apache 2.2.15). The default httpd.conf contains no fewer than 50 instances of the LoadModule directive.

However, all I want to do is serve up static content, a Google map or two and some CSS.

Trial-and-error, along with apachectl configtest, leads me to believe that I can get away with only the following modules enabled (given no other changes to the default config file):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

Are there modules that should be included in this list for better/safer operation of the server? The official docs seem to indicate that nothing more than mod_dir and mod_mime are absolutely necessary for a barebones site.

Note: I'm not soliciting advice on which HTTP server to use for the indicated task. I'm aware of the existence of "lighter" servers. This question is about Apache modules.

share|improve this question

2 Answers 2

up vote 5 down vote accepted

The answer is alluded to in the official 2.2 docs, in the section on performance tuning.

An associated question that arises here is, of course, what modules you need, and which ones you don't. The answer here will, of course, vary from one web site to another. However, the minimal list > of modules which you can get by with tends to include mod_mime, mod_dir, and mod_log_config. mod_log_config is, of course, optional, as you can run a web site without log files. This is, however, not recommended.

share|improve this answer

Just noticed this question as I was setting up a new PC with Apache 2.2. Here's the absolute minimum httpd.conf I managed to come up with:

    ServerName 127.0.0.1
    Listen 8080
    LoadModule dir_module modules/mod_dir.so
    LoadModule mime_module modules/mod_mime.so
    DirectoryIndex index.html 
    DocumentRoot "C:/http_root"
    ErrorLog "logs/error.log"
    LogLevel warn                

You don't need the ErrorLog of course, but I was experimenting so obviously needed some feedback if my httpd.conf file was causing problems. You need ServerName to avoid a warning during startup about not being able to reliably determine the server address. I can certainly confirm that you do need dir_module and mime_module so that you can deliver a default file from a directory URL and also display the file as HTML rather than plain text.

I'm posting this because I find the default httpd.conf file overwhelmingly complicated and I remembered that when I was learning Tomcat, everything became a lot clearer when I discovered the absolute minimum server configuration file.

If you want to server php pages, you just need the following 2 lines (adjusted to suit your environment:

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.