Apache es un servidor del protocolo http, comunmente llamado servidor web pues es la mayor utilidad para dicho protocolo. Cuando pensamos en un servidor web imaginamos un grupo de páginas web que determinan un sitio web. Un servidor como Apache puede alojar varios sitios, y pueden coexistir varios servidores Apache en un sólo equipo.
Básicamente Apache lee un directorio con todo el contenido posible a enviar y los navegadores[12] piden las páginas (o recursos) para luego, por ejemplo, mostrarlos en pantalla. Es el funcionamiento más básico de un servidor, sin embargo, los servidores actuales realizan muchas tareas complejas. Un ejemplo sería modificar el recurso para personalizarlo y luego enviarlo. O ejecutar un programa y que la salida de este programa devuelva el recurso a enviar. Comunmente estos programas se llaman scripts y se tienden a escribir en lenguajes que fueron creados para ese propósito, como lo es PHP, Python o versiones actuales de Perl.
El archivo de configuración de Apache principal puede ser /etc/httpd.conf o /etc/http.d/conf/httpd.conf o /etc/apache/httpd.conf según la distribución y versión de Apache. En este archivo se determinan los directorios a utilizar, los módulos a cargar, permisos y muchísimos detalles más. Veremos los más importantes.