The Apache HTTP server, Version 1.3

Like most users of the Apache HTTP server, we call it Apache. Apache is an open-source web server. The current release at the time of writing is 1.3.20.

The installation and configuration of Apache for most web database applications is straightforward. A concise installation guide for the Linux operating system is presented in Appendix A. Apache can be downloaded from; other Apache resources are listed in Appendix E.

Apache is fast and scalable. It can handle simultaneous requests from user agents and is designed to run under multitasking operating systems, such as Linux and 32-bit variants of Microsoft Windows. It's also lightweight, has low per-process requirements, can effectively handle changes in request loads, and can run fast on even modest hardware.

Apache-at least conceptually-isn't complicated. The web server is actually several processes, where one process coordinates the others. The coordinating process usually runs with the permissions of the superuser or root user on a Unix machine and doesn't serve requests itself. The other processes, which usually run as more secure, permissionless users, notify their availability to handle requests to the coordinating server. If too few servers are available to handle incoming requests, the coordinating server may start new servers; if too many are free, it may kill spare servers to save resources.

How Apache listens on the network and serves requests is controlled by its configuration file. The server administrator controls the behavior of Apache through more than 150 directives that affect resource requirements, response time, flexibility in dealing with request load variability, security, how HTTP requests are handled and logged, and most other aspects of its operation. Careful adjustment of these parameters is important for performance, and more details of Apache configuration can be found in the resources listed in Appendix E.