Apache HTTP Server: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Collegamenti esterni: link invalido
 
(174 versioni intermedie di oltre 100 utenti non mostrate)
Riga 1:
{{Software
{{Infobox_Software
|nomeNome = Apache HTTP Server
|Logo = Apache HTTP Server Logo (2016).svg
|logo =
|DimensioneLogo = 100px
|screenshot =
|didascaliaScreenshot =
|Didascalia =
|sviluppatore = [[Apache Software Foundation]]
|Sviluppatore = [[Apache Software Foundation]]
|versione_ultimo_rilascio = [http://httpd.apache.org/download.cgi 2.2.11]
|UltimaVersione =
|data_ultimo_rilascio = [[14 dicembre]] [[2008]]
|DataUltimaVersione =
|sistema_operativo = [[Multipiattaforma]]
|UltimaVersioneBeta =
|genere = [[Web server]]
|DataUltimaVersioneBeta =
|licenza = [[Apache License]]
|SistemaOperativo = multipiattaforma
|sito_web = http://httpd.apache.org
|Linguaggio = C
|Genere = Web server
|Licenza = [[Apache License]]
|SoftwareLibero = sì
|Lingua =
|Categorie = no
|SitoWeb =
}}
'''Apache HTTP Server''', o più comunemente '''Apache''' ([[Alfabeto fonetico internazionale|IPA pronuncia]]: /aˈpætʃiː/), è il nome di un [[server web]] [[Software libero|libero]] sviluppato dalla [[Apache Software Foundation]]. È la piattaforma server Web modulare più diffusa<ref>{{cita web|url=http://news.netcraft.com/archives/2015/10/16/october-2015-web-server-survey.html|titolo =October 2015 Web Server Survey|autore = Netcraft|lingua = en|accesso=3 novembre 2015|urlarchivio=https://web.archive.org/web/20191015010204/http://news.netcraft.com/archives/2015/10/16/october-2015-web-server-survey.html|dataarchivio=15 ottobre 2019|urlmorto=no}}</ref>, in grado di operare su una grande varietà di [[sistema operativo|sistemi operativi]], tra cui [[UNIX]]/[[Linux]], [[Microsoft Windows]] e [[OpenVMS]]. È 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 informatica|sicurezza]] come quelle effettuate da un [[proxy]].
'''Apache HTTP Server''', o più comunemente '''Apache''' ([[Alfabeto fonetico internazionale|IPA pronuncia]]: /əˈpætʃi/), è il nome dato alla piattaforma [[Web server|server Web]] modulare più diffusa (ma anche al gruppo di lavoro ''[[open source]]'' che ha creato, sviluppato e aggiornato il software server), in grado di operare da sistemi operativi [[UNIX]]-[[Linux]] e [[Microsoft]].
 
Apache è un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento, ha il vantaggio di offrire anche funzioni di controllo per la sicurezza come quelli che compie il [[proxy]].
 
== Storia ==
Il progetto Apache nacque nel [[1995]]. A quel tempo, il server Web più diffuso era il daemon [[Hypertext Transfer Protocol|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 (informatica)|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]].
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.<br />
Dal momento però che a partire dal [[1994]] lo sviluppo di questo server si era fermato (anche perché il suo autore aveva lasciato l'NCSA) un gruppo di [[webmaster]] aveva iniziato a sviluppare ''[[Patch (informatica)|patch]]'' in maniera autonoma.
 
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, Andrew Wilson) presero come punto di partenza la versione 1.3 del demone HTTP NCSA e aggiunsero una serie di patch e di correzioni. La prima release pubblica di Apache, la 0.6.2, venne rilasciata nell'[[aprile]] del [[1995]].
 
Il nome Apache, secondo la leggenda, nasce dal fatto che inizialmente il server era semplicemente una raccolta di ''patch'' da applicare al server NCSA. 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 [http://www.apache.org/foundation/faq.html#name domande frequenti] sul sito ufficiale del progetto. Una nuova architettura server fu integrata poco dopo nella versione 0.8.8 a cui fu dato il nome in codice di Shambala.
 
La versione 1.0 fu pubblicata l'[[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 rilasciata durante la conferenza ApacheCon, tenutasi nel marzo [[2000]] a [[Orlando (Florida)|Orlando]], in [[Florida]].
 
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 [https://www.apache.org/foundation/faq.html#name domande frequenti] sul sito ufficiale del progetto.
Il grande successo di diffusione di questo software è l'indicatore più chiaro della qualità e dell'affidabilità di questo prodotto: secondo un'indagine [http://news.netcraft.com/ Netcraft] del [[2005]], su 75 milioni di siti web, circa 52 milioni utilizzavano Apache, ad ottobre [[2006]] il numero è salito a 60 milioni (60,32% del totale).
 
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 (Florida)|Orlando]], in [[Florida]].
Operativamente, è composto da un [[Demone_%28informatica%29|demone]], in ambiente UNIX, o da un [[servizio (informatica)|servizio]], in ambiente Microsoft, che sulla base delle impostazioni contenute nel file di configurazione ''httpd.conf'' permette l'accesso a un o più siti, gestendo varie caratteristiche di sicurezza e potendo ospitare diverse estensioni per pagine attive (o dinamiche), come [[PHP]] o [[Tomcat|Jakarta/Tomcat]].
 
Il grande successo di diffusione di questo software è l'indicatore più chiaro della qualità e dell'affidabilità di questo prodotto: secondo un'indagine [http://news.netcraft.com/ 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<ref>{{Cita web|url=https://www.centroli.it/statistiche-internet-in-italiano|titolo=Statistiche internet in italiano centroli.it|lingua=it|accesso=2017-02-15|urlmorto=sì|urlarchivio=https://web.archive.org/web/20170216064108/https://www.centroli.it/statistiche-internet-in-italiano|dataarchivio=16 febbraio 2017}}</ref>.
== Architettura apache ==
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.<br/>
 
== Descrizione ==
[[Immagine:Apache architettura.png|thumb|390 px|<center>In linea continua il flusso dei dati reale<br/>Tratteggiato il flusso dei dati astratto che forma la pipeline]]
=== Architettura ===
Operativamente, l'architettura è composta da un [[Demone (informatica)|demone]] - in ambiente UNIX - o da un [[Servizio di Windows|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 [[Apache Tomcat|Jakarta/Tomcat]].
[[File:Schema dell'architettura del server Apache.png|thumb|upright=1.3|In linea continua il flusso dei dati reale<br />Tratteggiato il flusso dei dati astratto che forma la [[Pipeline software|pipeline]]]]
 
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.
I moduli:
Al di sopra del ciclo del core un [[Demone (informatica)|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:
<ul>
* ''Translation'': traduce la richiesta del client
<dt>Core</dt>
* ''Access Control'': controlla le richieste in base ai criteri di autorizzazione
<dd>Programma principale composto da un ciclo sequenziale di chiamate ai moduli.</dd>
* ''MIME Type'': identifica il tipo di contenuto e decide quali moduli possono contribuire a servire la richiesta
<dt>Translation</dt>
* ''Response'': invia la risposta al client e attiva eventuali procedure
<dd>Traduce la richiesta del client</dd>
* ''Logging'': tiene traccia di tutto ciò che è stato fatto
<dt>Acces Control</dt>
<dd>Controlla eventuali richieste dannose</dd>
<dt>MIME Type</dt>
<dd>Verifica il tipo di contenuto</dd>
<dt>Response</dt>
<dd>Invia la risposta al client e attiva eventuali procedure</dd>
<dt>Logging</dt>
<dd>tiene traccia di tutto ciò che è stato fatto</dd>
</ul>
 
=== Configurazione ===
Il core suddivide la richiesta ai vari moduli in modo sequenziale, usando i parametri di uscita di un modulo come parametri di accesso per l'altro, creando così l'illusione di una comunicazione orizzontale fra i moduli ([[Pipeline software]]).
Sopra il ciclo del core c'è un ulteriore ciclo di polling svolto da un [[Demone (informatica)]] che interroga continuamente le linee logiche da cui possono pervenire messaggi di richiesta.
 
==== ConfigurareFile apachehttpd.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. Per esempio se si volesse aggiungere un modulo bisognerebbe usare questa [[sintassi]]:
=== File httpd.conf ===
<syntaxhighlight lang="apache">LoadModule nome_modulo percorso_del_file</syntaxhighlight>
Gli amministratori del server possono usare il file httpd.conf, che su sistemi unix solitamente è messo sotto /etc/httpd/conf, mentre su sistemi windows è situato nella subdirectory conf della directory di installazione di apache.
Questo file offre tutta la libertà che offre il server, quindi aggiungere moduli, estensioni, nuovi mime-type e altro ancora.
Per esempio se si volesse aggiungere un modulo bisognerebbe usare questa sintassi:
<source lang="apache">LoadModule nome_modulo percorso_del_file</source>
 
==== File di configurazione .htaccess ====
Il file ''[[.htaccess]]'' permette una un'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.
 
==Collegamenti esterniNote ==
<references />
*{{en}} [http://www.apache.org/ Sito ufficiale della Apache Software Foundation]
*{{en}} [http://httpd.apache.org/ Sito ufficiale del progetto Apache HTTP Server]
*{{it}} [http://www.compago.it/index.php/manuali/35-utilita/190-configurazione-web-server-apache-virtual-host Guida completa sulla configurazione dei Virtual Hosts con Apache2]
*{{it}} [http://www.compago.it/index.php/manuali/35-utilita/192-espressioni-regolari-con-apache Mini guida alle espressioni regolari con Apache]
*{{it}} [http://www.oscene.net/site/sysadmin/web-server/howto-configurazione-dei-virtual-hosts-con-apache2 Configurazione dei Virtual Hosts con Apache2]
*{{it}} [http://read.melodycode.com/news/406/5_tips_su_htaccess_che_ogni_webmaster_dovrebbe_conoscere.html 5 tips su htaccess che ogni Webmaster dovrebbe conoscere]
 
== Voci correlate ==
* [[Apache Mobile Filter]]
* [[Apache Software Foundation]]
* [[Licenza Apache]]
 
== Altri progetti ==
{{Interprogetto}}
 
== Collegamenti esterni ==
[[Categoria:Internet software libero]]
* {{Collegamenti esterni}}
[[Categoria:Tecnologie per il Web]]
* {{cita web | 1 = http://www.oscene.net/site/sysadmin/web-server/howto-configurazione-dei-virtual-hosts-con-apache2 | 2 = Configurazione dei Virtual Hosts con Apache2 | accesso = 13 gennaio 2008 | urlarchivio = https://web.archive.org/web/20080103073339/http://www.oscene.net/site/sysadmin/web-server/howto-configurazione-dei-virtual-hosts-con-apache2 | dataarchivio = 3 gennaio 2008 | urlmorto = sì }}
[[Categoria:Apache Software Foundation|Apache HTTP server]]
* {{cita web|http://www.compago.it/index.php/manuali/35-utilita/190-configurazione-web-server-apache-virtual-host|Guida completa sulla configurazione dei Virtual Hosts con Apache2}}
[[Categoria:Software Linux]]
* {{cita web|http://www.compago.it/index.php/manuali/35-utilita/192-espressioni-regolari-con-apache|Mini guida alle espressioni regolari con Apache}}
[[Categoria:Software parte di Mac OS X]]
* {{cita web | 1 = http://read.melodycode.com/news/406/5_tips_su_htaccess_che_ogni_webmaster_dovrebbe_conoscere.html | 2 = 5 tips su htaccess che ogni Webmaster dovrebbe conoscere | accesso = 29 settembre 2007 | urlarchivio = https://web.archive.org/web/20071103130606/http://read.melodycode.com/news/406/5_tips_su_htaccess_che_ogni_webmaster_dovrebbe_conoscere.html | dataarchivio = 3 novembre 2007 | urlmorto = sì }}
 
{{Apache}}
{{Portale|Software libero}}
{{Controllo di autorità}}
{{Portale|internet|software libero|telematica}}
 
[[Categoria:Apache HTTP Server| ]]
[[ar:أباتشي (خادم وب)]]
[[az:Apache]]
[[bg:Apache]]
[[bs:Apache HTTP server]]
[[ca:Servidor HTTP Apache]]
[[cs:Apache HTTP Server]]
[[da:Apache (webserver)]]
[[de:Apache HTTP Server]]
[[el:Apache HTTP εξυπηρετητής]]
[[en:Apache HTTP Server]]
[[eo:Retservilo Apache]]
[[es:Servidor HTTP Apache]]
[[eu:Apache HTTP zerbitzaria]]
[[fa:آپاچی (نرم‌افزار)]]
[[fi:Apache (palvelinohjelma)]]
[[fr:Apache HTTP Server]]
[[gl:Apache (servidor web)]]
[[he:Apache HTTP Server]]
[[hr:Apache HTTP poslužitelj]]
[[hu:Apache HTTP Server]]
[[ia:Apache HTTP Servitor]]
[[id:Apache HTTP Server]]
[[ja:Apache HTTP Server]]
[[ka:აპაჩეს სერვერი]]
[[ko:아파치 웹 서버]]
[[ku:Apache]]
[[lt:Apache HTTP serveris]]
[[lv:Apache HTTP serveris]]
[[ml:അപ്പാച്ചെ വെബ് സര്‍വര്‍]]
[[nl:Apache (webserver)]]
[[nn:Apache]]
[[no:Apache (webserver)]]
[[pl:Apache (serwer)]]
[[pt:Servidor Apache]]
[[ro:Apache]]
[[ru:Apache]]
[[simple:Apache HTTP Server]]
[[sk:Apache HTTP Server]]
[[sl:Spletni strežnik Apache]]
[[sr:Veb server Apač]]
[[su:Apache HTTP Server]]
[[sv:Apache HTTP Server]]
[[ta:அப்பாச்சி இணைய வழங்கி]]
[[th:อะแพชี เว็บเซิร์ฟเวอร์]]
[[tr:Apache HTTP Sunucusu]]
[[uk:Apache]]
[[uz:Apache Server]]
[[vi:Apache (HTTP)]]
[[zh:Apache]]