“The Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade, featureful, and freely-available source code implementation of an HTTP (Web) server. The project is jointly managed by a group of volunteers located around the world, using the Internet and the Web to communicate, plan, and develop the server and its related documentation”. (Apache HTTP Server Project, retrieved 08:18, 29 May 2009 (UTC)).
Most educational web applications run on a traditional web server, and most of these use Apache plus the MySQL database server plus a server-side scripting language, PHP in particular. Even non-technical people might consider learning how to install a webserver/MySQL/PHP bundle on a PC in order to try out various software such as learning management systems.
Currently (May 2009) there exist three versions:
You can compile the server, but generally speaking it is easier to install a binary version (see below)
The Apache web server runs on most operating system and on most, it has become really easy to install it.
The webserver is configured by editing hte http.conf configuration file that usually sits the installation_directory/conf/http.conf.
See the Directive Quick Reference
Apache server has an extension mechanism that allows to add modules without recompiling the server.
“The Apache HTTP Server is a modular program where the administrator can choose the functionality to include in the server by selecting a set of modules. The modules can be statically compiled into the httpd binary when the server is built. Alternatively, modules can be compiled as Dynamic Shared Objects (DSOs) that exist separately from the main httpd binary file. DSO modules may be compiled at the time the server is built, or they may be compiled and added at a later time using the Apache Extension Tool (apxs).” (Dynamic Shared Object (DSO) Support, retrieved 08:40, 29 May 2009 (UTC)).