Apache HTTP Server
Apache HTTP Server software | |
---|---|
Genere | Server web |
Sviluppatore | Apache Software Foundation |
Data prima versione | 1995 |
Ultima versione | 2.4.38 (17 gennaio 2019) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Licenza | Apache License (licenza libera) |
Sito web | httpd.apache.org |
Apache HTTP Server, o più comunemente Apache (IPA pronuncia: /aˈpætʃiː/), è il nome di un server web libero sviluppato dalla Apache Software Foundation.
È la piattaforma server Web modulare più diffusa[1], in grado di operare su una grande varietà di sistemi operativi, tra cui UNIX/Linux, Microsoft Windows e OpenVMS.
Apache è un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento, ed ha il vantaggio di offrire funzioni di controllo per la sicurezza come quelle effettuate da un proxy.
Indice
1 Storia
2 Architettura Apache
3 Configurare Apache
3.1 File httpd.conf
3.2 File di configurazione .htaccess
4 Note
5 Voci correlate
6 Altri progetti
7 Collegamenti esterni
Storia |
Il progetto Apache nacque nel 1995. A quel tempo, il server Web più diffuso era il daemon HTTP pubblico sviluppato da Rob McCool al NCSA (National Center for Supercomputing Application), Università dell'Illinois.
A partire dal 1994, lo sviluppo di questo server si era fermato perché il suo autore aveva lasciato l'NCSA. Un gruppo di webmaster iniziò perciò a sviluppare in maniera autonoma patch a tale software.
Fu creata una mailing list e, verso la fine di febbraio del 1995, si costituì il primo gruppo di lavoro dell'Apache Group: otto persone (Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau ed Andrew Wilson) presero come punto di partenza la versione 1.3 del daemon HTTP NCSA e aggiunsero una serie di patch e di correzioni. La prima release pubblica di Apache, la 0.6.2, venne distribuita nell'aprile del 1995.
Secondo la leggenda, il nome Apache nascerebbe dal fatto che inizialmente il server era semplicemente una raccolta di patch da applicare al server NCSA e, dal nome amichevole "a patchy server", sarebbe quindi nato Apache. In realtà, il nome fu scelto in onore della tribù di nativi americani Apache, come riportano le domande frequenti sul sito ufficiale del progetto.
Poco dopo nella versione 0.8.8 fu integrata una nuova architettura server, a cui fu dato il nome in codice di Shambala.
La versione 1.0 fu pubblicata il 1º dicembre 1995. Nel giro di un anno, la sua diffusione aveva già superato quella del server NCSA da cui era derivato.
La versione 2.0 di Apache venne distribuita durante la conferenza ApacheCon, tenutasi nel marzo 2000 a Orlando, in Florida.
Il grande successo di diffusione di questo software è l'indicatore più chiaro della qualità e dell'affidabilità di questo prodotto: secondo un'indagine Netcraft del 2005, su 75 milioni di siti web, circa 52 milioni utilizzavano Apache e ad ottobre 2006 il numero era salito a 60 milioni (69,32% del totale). Apache web server viene utilizzato da 51,01% del totale dei domini italiani registrati[2].
Architettura Apache |
Operativamente, l'architettura è composta da un demone - in ambiente UNIX - o da un servizio - in ambiente Microsoft - il quale, sulla base delle impostazioni contenute nel file di configurazione httpd.conf, permette l'accesso a uno o più siti, gestendo varie caratteristiche di sicurezza e potendo ospitare diverse estensioni per pagine attive (o dinamiche), come PHP o Jakarta/Tomcat.
Il Web Server Apache presenta un'architettura modulare, quindi ad ogni richiesta del client vengono svolte funzioni specifiche da ogni modulo di cui è composto, come unità indipendenti. Ciascun modulo si occupa di una funzionalità, ed il controllo è gestito dal core.
Al di sopra del ciclo del core un demone esegue un ciclo di polling, attraverso il quale vengono interrogate continuamente le linee logiche da cui possono pervenire messaggi di richiesta.
Il core passa poi la richiesta ai vari moduli in modo sequenziale, usando i parametri di uscita di un modulo come parametri di accesso per il successivo, creando così l'illusione di una comunicazione orizzontale fra i moduli (Pipeline software).
Le principali fasi di cui è composto il ciclo sono:
Translation: traduce la richiesta del client
Access Control: controlla le richieste in base ai criteri di autorizzazione
MIME Type: identifica il tipo di contenuto e decide quali moduli possono contribuire a servire la richiesta
Response: invia la risposta al client e attiva eventuali procedure
Logging: tiene traccia di tutto ciò che è stato fatto
Configurare Apache |
File httpd.conf |
Gli amministratori del server possono configurare le funzionalità del server modificando il file httpd.conf, che è situato nella subdirectory conf della directory indicata durante l'installazione. Attraverso questo file vengono messe a disposizione tutte la libertà offerta dal server, per cui è possibile aggiungere moduli, estensioni, nuovi mime-type ed altro ancora.[3]
File di configurazione .htaccess |
Il file .htaccess permette una ulteriore personalizzazione del webserver a livello di singola directory.
È utilizzato in particolar modo nell'hosting condiviso, per modificare le impostazioni standard fornite dal server stesso.
Note |
^ (EN) Netcraft, October 2015 Web Server Survey, su news.netcraft.com. URL consultato il 3 novembre 2015.
^ Statistiche internet in italiano centroli.it, su www.centroli.it. URL consultato il 15 febbraio 2017 (archiviato dall'url originale il 16 febbraio 2017).
^ Per esempio se si volesse aggiungere un modulo bisognerebbe usare questa sintassi:
LoadModule nome_modulo percorso_del_file
Voci correlate |
- Apache Mobile Filter
- Apache Software Foundation
- Licenza Apache
Altri progetti |
Altri progetti
- Wikimedia Commons
Wikimedia Commons contiene immagini o altri file su Apache HTTP Server
Collegamenti esterni |
(EN) Sito ufficiale, su httpd.apache.org.
Apache HTTP Server, su packages.debian.org.
(EN) Apache HTTP Server, su GitHub.
Repository sorgenti di Apache HTTP Server, su github.com.
(EN) Apache HTTP Server, su Free Software Directory.
- Configurazione dei Virtual Hosts con Apache2, su oscene.net.
- Guida completa sulla configurazione dei Virtual Hosts con Apache2, su compago.it.
- Mini guida alle espressioni regolari con Apache, su compago.it.
- 5 tips su htaccess che ogni Webmaster dovrebbe conoscere, su read.melodycode.com.
.mw-parser-output .navbox{border:1px solid #aaa;clear:both;margin:auto;padding:2px;width:100%}.mw-parser-output .navbox th{padding-left:1em;padding-right:1em;text-align:center}.mw-parser-output .navbox>tbody>tr:first-child>th{background:#ccf;font-size:90%;width:100%}.mw-parser-output .navbox_navbar{float:left;margin:0;padding:0 10px 0 0;text-align:left;width:6em}.mw-parser-output .navbox_title{font-size:110%}.mw-parser-output .navbox_abovebelow{background:#ddf;font-size:90%;font-weight:normal}.mw-parser-output .navbox_group{background:#ddf;font-size:90%;padding:0 10px;white-space:nowrap}.mw-parser-output .navbox_list{font-size:90%;width:100%}.mw-parser-output .navbox_odd{background:#fdfdfd}.mw-parser-output .navbox_even{background:#f7f7f7}.mw-parser-output .navbox_center{text-align:center}.mw-parser-output .navbox .navbox_image{padding-left:7px;vertical-align:middle;width:0}.mw-parser-output .navbox+.navbox{margin-top:-1px}.mw-parser-output .navbox .mw-collapsible-toggle{font-weight:normal;text-align:right;width:7em}.mw-parser-output .subnavbox{margin:-3px;width:100%}.mw-parser-output .subnavbox_group{background:#ddf;padding:0 10px}
.mw-parser-output .CdA{border:1px solid #aaa;width:100%;margin:auto;font-size:90%;padding:2px}.mw-parser-output .CdA th{background-color:#ddddff;font-weight:bold;width:20%}
Controllo di autorità | GND (DE) 4460947-4 |
---|