Apache è un Server Web con licenza BSD, quindi esso è utilizzabile sia per scopi commerciali che non.
Esso ha una architettura modulare, ma la cosa fondamentale è soprattutto la sua portabilità, in quanto è praticamente
funzionante con qualsiasi piattaforma, sia essa Unix/Linux, Windows, MacOS, etc...
Grazie a ciò esso risulta, attualmente, il Web Server più utilizzato nel web.
Ci sono due versioni di Apache, la 1.3 e la più recente 2.0. La prima è sicuramente la più diffusa delle due
ma, ovviamente, nella versione 2.0 sono stati introdotti notevoli dei miglioramenti.
Apache 2.0, a differenza della versione precedente, astrae l'architettura di elaborazione delle richieste tramite dei moduli
chiamati Multi Processing modules(MPMs), ossia moduli Multi Processo, grazie ai quali esso può essere
configurato come un server basato su processi, come un server puramente basato su thread o come un misto di tali modelli.
I thread sono inglobati all'interno dei processi e sono eseguiti simultaneamente. Inoltre, nella versione 2.0 la gestione dei
protocolli è stata incapsulata in un suo proprio livello, rendendo possibile la scrittura di moduli per protocolli diversi
da HTTP, quali POP3 per la posta o FTP per il trasferimento di file.
L'unico neo di questa nuova versione, riguarda i problemi che sono derivati dalla compatibilità, inquanto i moduli della
versione 1.3 devono essere adattati alla nuova.
Su tale Web Server sono previsti vari meccanismi per la gestione della sicurezza, per garantire un filtraggio degli accessi ad esso e
a sue determinate aree. Per saperne di più vai alla sezione Sicurezza e Apache
In Apache sono presenti anche moduli per monitorare l'uso dell'ampiezza di banda e la sua regolazione, che però
porta ad inevitabilili rallentamenti.
Poichè le varie applicazioni web sono scritte con linguaggi di alto livello com PHP, Perl, Java, etc..., in Apache
sono presenti anche altri svariati moduli per la loron integrazione con il Server.
Per la sua configurazione, viene utilizzato un file di testo, che potrebbe non essere proprio di semplice comprensione, per chi
non ha mai avuto a che fare con file di questo tipo. Nella sezione di configurazione cercheremo di chiarire alcuni aspetti fondamentali
per la cofigurazione di Apache.
Oltre ad esso la Apache Software Foundation, ha sviluppato molti altri progetti come Tomcat, Java Apache Mail Enterprise Server(JAMES)
e Jetspeed.