The Apache distribution consists of source for a core binary, httpd, which you can compile for your particular server architecture. By itself, httpd doesn't do very much. However, you can also include any number of Apache modules, either at compile-time or at runtime, depending on the version. These modules, written in C, define much of the behavior of the Apache server. Apache will call on each module to perform a dedicated task, such as user authentication or database queries.
At startup, Apache reads several configuration files. You can modify the behavior of Apache and its modules by inserting or modifying the runtime directives into one or more configuration files. Each file outlines how the Apache server will perform in specific areas. The files are: