Vuoi imparare a sviluppare siti web sul tuo PC oppure erogare un blog direttamente da casa o dall'ufficio, evitando così i costi dell'hosting? Ebbene: il primo passo da compiere è l'installazione del web server, ovvero il programma che si occupa di servire le pagine web ai visitatori. Vediamo allora come installare Apache HTTP Server sul PC Windows.

Trattazione aggiornata e perfezionata per funzionare al meglio con le versioni recenti di Apache e Windows 10

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

nota: In questo articolo ci concentreremo, nello specifico, sull'installazione del server web Apache HTTP Server su PC Windows. Per la guida equivalente incentrata su Linux:

» Leggi: La Grande Guida ad Apache, MySQL, PHP

Come sempre, ci riferiremo al programma "Apache HTTP Server" chiamandolo (impropriamente) solo "Apache", per brevità e per conformarci al nome usato nel quotidiano.

La procedura è stata testata con Windows 10 Home e Pro x64 (64 bit), ma è analoga per tutte le generazioni di Windows.

Passo 1: Installare le librerie Microsoft Visual C++

Prima di installare Apache su Windows è necessario installare il pacchetto Microsoft Visual C++, scegliendo la compilazione a 64 bit (x64) oppure 32 bit (x86) a seconda che sia in uso Windows a 64 oppure 32 bit:

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Non sottovalutate questo passaggio preliminare! Senza le librerie Microsoft Visual C++, infatti, Apache si blocca all'avvio mostrando un errore simile a L'esecuzione del codice non può proseguire perché VCRUNTIME140.dll non è stato trovato.

» Leggi anche: [risolto] VCRUNTIME140.dll download - Errore di sistema: L'esecuzione del codice non può proseguire perché VCRUNTIME140.dll non è stato trovato: come risolvere?

Passo 2: Scaricare Apache per Windows

Per scaricare Apache per Windows ci affideremo ad Apache Lounge. Si tratta di un sito gestito da appassionati che prendono il codice sorgente di Apache (è perfettamente legale, trattandosi di un programma distribuito con licenza open source!) e lo compilano impiegando le più recenti tecnologie disponibili.

» Download: Apache HTTP Server per Windows

Dalla pagina indicata, dobbiamo individuare la sezione intitolata Apache 2.4 binaries (è la prima della lista) e quindi scaricare uno dei seguenti:

  • con Windows a 64 bit: scaricare il file Apache 2.4 Win64
  • con Windows a 32 bit: scaricare il file Apache 2.4 Win32

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Passo 3: Estrazione dei file

Una volta scompattato il .zip appena ottenuto in una cartella temporanea a piacere, troveremo una directory di nome Apache24: è quella che contiene il programma vero e proprio

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Passo 4: Spostamento della cartella

Possiamo conservare la cartella Apache24 dove più ci aggrada, ma è altamente consigliabile svolgere le seguenti operazioni:

  1. rinominarla in Apache
  2. spostarla nella directory Programmi di Windows, ovvero C:\Program Files\Apache

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Fate attenzione a NON ritrovarvi qualcosa di simile a C:\Program Files\Apache\Apache24! All'interno della cartella C:\Program Files\Apache dovete vedere immediatamente le cartelle bin, conf e tutto il resto.

Passo 5: Aprire il file .conf

La configurazione di Apache avviene tramite uno o più file testuali. Il principale è salvato nella sottocartella conf e si chiama httpd.conf.

Facendovi doppio click sopra, Windows ci chiederà con quale programma desideriamo aprire i file .conf:

  1. spuntare la casella Usa sempre questa app per aprire i file .conf
  2. cliccare Altre app
  3. scegliere Blocco note dalla lista
  4. cliccare OK

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Passo 6: Modificare ServerRoot

Il primo parametro da modificare all'interno del file è Define SRVROOT: di default, è valorizzato, a "C:/Apache24", ma noi dobbiamo correggere per fare in modo che indichi il percorso nel quale abbiamo spostato la cartella di Apache, ovvero "C:\Program Files\Apache" (ricordate di conservare le virgolette!)

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva - apache windows srvroot

Passo 7: Modificare ServerName

Scorrendo verso il basso, troveremo la sezione dedicata al parametro ServerName. È valorizzato di default a:

#ServerName www.example.com:80

Per i nostri scopi, limitiamoci a rimuovere il carattere # presente ad inizio riga

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva - apache servername

Questa operazione non è strettamente necessaria, ma evita il presentarsi del fastidioso avviso AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name nei log e nel terminale.

Passo 7: Eliminare DocumentRoot

Dobbiamo ora eliminare completamente tutte le istruzioni e i commenti compresi fra queste frasi (estremi compresi):

# DocumentRoot: The directory out of which...

...

</Directory>

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva - apache eliminare documentroot

Breve spiegazione: Apache consente di configurare un singolo sito direttamente all'interno del file httpd.conf. Il problema è che questa modalità limita ad un solo, unico sito per server e, per di più, tutta la configurazione viene ignorata non appena si aggiungo siti aggiuntivi sottoforma di "Virtual Host" (come faremo di seguito). Di conseguenza, è meglio eliminare subito tutto questo blocco e prevenire un mare di confusione.

Passo 8: Caricamento dinamico vhosts

Scorrete verso il fondo fino a localizzare la sezione # Virtual Hosts. Lasciate tutto inalterato, ma aggiungete questa riga:

Include conf/vhosts/*.conf

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva - apache abilita vhosts

L'indicazione fa sì che vengano caricati automaticamente tutti i file con estensione .conf presenti nella cartella vhosts che andremo a creare fra poco

Salvate le modifiche e chiudete Blocco note: qui abbiamo finito.

Passo 9: Creare la cartella Web

Dobbiamo ora preparare una cartella adibita a contenere tutti i siti web che andremo ad erogare dal PC. Creiamo quindi questa directory in un percorso a piacimento. Ad esempio:

  1. premete la combinazione da tastiera Win+R per richiamare Esegui
  2. impartite il comando %USERPROFILE% per raggiungere la "Home" dell'utente corrente
  3. in questa posizione, creare una cartella di nome Web: ospiterà tutti i siti che andremo a creare
  4. all'interno di Web, creare una cartella con il nome del nostro primo sito: per questa configurazione iniziale, useremo default poiché conterrà il sito che sarà mostrato ai visitatori tutte le volte che richiederanno un dominio non configurato in altro modo (questo comportamento diverrà chiaro in seguito)

A questo punto, dovreste aver creato un percorso simile a questo:

C:\Users\zane\Web\default

Passo 10: Scaricare il file index

Scaricate ora questo zip con alcuni file di esempio ed estraete tutto quanto nella cartella default creata al Passo procedente:

» Download: File index per test web server

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Passo 11: Scaricare i file di configurazione

Ora scarichiamo il seguente pacchetto:

» Download: File di configurazione vhosts per Apache

Scompattiamo il contenuto all'interno della sottodirectory conf di Apache, ovvero in:

C:\Program Files\Apache\conf

Prestate attenzione ad estrarre nel percorso giusto! Il materiale deve finire dentro la sottocartella conf, non immediatamente dentro ad Apache!

Otterremo così i seguenti nuovi file:

  • conf\vhosts\default.conf: contiene la configurazione da utilizzare di default, ovvero quella che risponde quando viene richiesto un dominio non esplicitamente configurato
  • conf\vhosts_template.conf: contiene un modello pronto all'uso, da copiare per creare rapidamente la configurazione degli altri siti che erogheremo dal PC (v. seguito)

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Passo 12: Modificare il Virtual Host di default

Aprite ora il file conf\vhosts\default.conf. Al suo interno, dobbiamo valorizzare opportunamente DocumentRoot: è il parametro che indica dove si trovano i file HTML, PHP, CSS, immagine ecc. che compongono il sito web.

Di default è impostato a C:\Users\zane\Web\default: come evidente, dovremo modificarlo immettendo il percorso appropriato per raggiungere la nostra cartella default creata al precedente Passo 9. Fate attenzione a conservare le virgolette.

Subito sotto, copia-incollate lo stesso identico percorso come attributo del tag <Directory>, sempre conservando le virgolette.

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Salvate le modifiche e chiudete Blocco note: anche qui abbiamo finito.

Passo 13: Installare Apache come servizio

Procediamo aprendo il Prompt dei comandi come Amministratore:

» Leggi: Windows 10, Prompt dei comandi: accesso negato - come aprire (sempre) il "Prompt dei comandi" di Amministratore

Spostiamoci dunque nella sottocartella bin di Apache. Se avete seguito le indicazioni del Passo 4, il comando è:

cd "%ProgramFiles%\Apache\bin"

Da qui, installiamo Apache come servizio:

httpd.exe -k install

Se fra i messaggi vedete l'indicazione The 'Apache2.4' service is successfully installed, significa che l'operazione è andata a buon fine. Così non fosse, prendete nota dell'errore e consultate questo articolo:

» Leggi: Apache su Windows: risolvere gli errori The requested operation has failed!, AH00526: Syntax error on line, AH00072: make_sock: could not bind to address 0.0.0.0:80

Se tutto ha funzionato correttamente, confermate a Windows Defender Firewall l'intenzione di consentire la comunicazione, ma unicamente sulle Reti private.

» Leggi anche: TLI risponde: cosa significa che "Windows Firewall ha bloccato alcune funzionalità di questa app"?

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Impedendo la comunicazione sulle reti pubbliche eviterete che qualcun altro possa raggiungere il processo di Apache e visualizzare il vostro sito quando sarete collegati alle Wi-Fi dei bar o degli alberghi.

Per modificare questa impostazione in un secondo momento, consultate questa guida:

» Leggi: Guida: come aprire le porte su Windows Firewall

Passo 14: Avviare il servizio

Ora che il servizio è installato e la configurazione pronta, possiamo concretamente avviare Apache. Il comando, sempre da lanciarsi dalla cartella C:\Program Files\Apache\bin, è il seguente:

httpd.exe -k restart

Se non viene mostrato alcun messaggio, significa che l'operazione è andata a buon fine ed Apache è in esecuzione, pronto ad erogare pagine web. In caso contrario, il riferimento da consultare rimane sempre questo:

» Leggi: Apache su Windows: risolvere gli errori The requested operation has failed!, AH00526: Syntax error on line, AH00072: make_sock: could not bind to address 0.0.0.0:80

Per chi preferisse gestire il servizio di Apache tramite uno strumento grafico, segnalo che, all'interno della "solita" sottocartella bin di Apache, è presente anche un eseguibile di nome ApacheMonitor.exe: apriamolo con un doppio click. Potrebbe sembrare che non sia successo niente perché il programma viene immediatamente ridotto a icona nell'Area di notifica (quella dell'orologio, nell'angolo in basso a destra)

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Facendovi doppio click, viene mostrata la schermata principale di questo comodo tool. Da qui, selezioniamo il nostro server dalla lista in alto e premiamo Start oppure Restart per avviare o riavviare il servizio

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

In caso venisse visualizzato il messaggio d'errore The requested operation has failed!, consultare il seguente articolo:

» Leggi: Apache su Windows: risolvere gli errori The requested operation has failed!, AH00526: Syntax error on line, AH00072: make_sock: could not bind to address 0.0.0.0:80

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva - apache monitor error

Passo 15: Visualizzare la pagina con il browser web

Tutto è pronto: apriamo il browser web e digitiamo l'URL http://localhost per visitare il sito in esecuzione sul PC locale. Se tutto funziona correttamente, vedrete la pagina di test

[se state usando la vecchia versione "classica" di Microsoft Edge e http://localhost non risponde, seguite questa guida: Microsoft Edge e sito locale (http://localhost) che non si apre: come risolvere l'errore con Apache o IIS]

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Provate ora ad aprire con Blocco note il file index.html presente nella sottocartella default di Web (vedi Passo 8 e Passo 9). Fate qualche modifica, salvate, ricaricate la pagina nel browser e vedrete le modifiche apportate.

Tanto per capire meglio come funziona l'installazione attuale, svolgete questo semplice esercizio:

  1. copiare il file index.html
  2. rinominate la copia in pagina1.html
  3. usando Blocco note, modificate pagina1.html e scrivete qualcosa a piacere (anche solo Ciao a tutti! va benissimo)
  4. da browser web, aprite l'indirizzo http://localhost/pagina1.html
  5. la nuova pagina verrà mostrata all'interno del browser

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

In definitiva: accodando il nome del file desiderato all'indirizzo http://localhost/, il browser richiede detto file al server web. Se il file esiste nella cartella che abbiamo specificato come DocumentRoot, Apache lo fornisce al browser, che lo interpreta e lo mostra.

Passo 16: Modificare il file hosts

La configurazione attuale funziona poiché abbiamo impostato il sito "di default" servito da Apache. Questo significa che la nostra installazione di Apache serve il contenuto della cartella impostata come DocumentRoot (vedi precedente Passo 12) ad ogni browser che richieda al nostro PC una qualsiasi pagina di un qualsiasi dominio.

Ecco quindi spiegato perché possiamo visualizzare il nostro sito anche collegandoci ad http://127.0.0.1 (l'indirizzo IP che identifica il computer locale) oppure utilizzando l'indirizzo IP di LAN

» Leggi anche: Trovare il nome, l'indirizzo IP e il MAC address del proprio computer Windows

Per capire meglio il funzionamento di questo meccanismo, modifichiamo il file hosts aggiungendo le seguenti righe:

127.0.0.1 miosito.com www.miosito.com

» Leggi anche: La Grande Guida al file hosts

D'ora in avanti, qualsiasi tentativo di accedere ai domini miosito.com oppure www.miosito.com dal PC corrente verrà risolto sul PC stesso. Di conseguenza, aprendo via browser http://miosito.com oppure http://www.miosito.com, vedremo la nostra solita pagina di test.

Passo 17: Erogare molteplici siti

Come appena dimostrato, la configurazione corrente mostra sempre lo stesso sito, indipendentemente dal dominio richiesto. Ma possiamo fare in modo che Apache utilizzi una cartella DocumentRoot diversa a seconda del dominio richiesto e, di conseguenza, mostri siti completamente diversi: ad esempio, potremmo erogare i siti sito1.com e sito2.com dallo stesso PC.

Iniziamo aggiungendo queste righe al file hosts:

127.0.0.1 sito1.com www.sito1.com

127.0.0.1 sito2.com www.sito2.com

127.0.0.1 sito3.com www.sito3.com

In questa situazione, ogni connessione via browser a detti domini mostra sempre la stessa pagina di test, leggendo i file dal percorso simile a C:\Users\zane\Web\default (vedi Passo 9).

Creiamo ora le cartelle adibite ad erogare i due nuovi siti. Seguendo l'impostazione precedente, creeremo qualcosa di simile a:

  • C:\Users\zane\Web\sito1
  • C:\Users\zane\Web\sito2

Recuperiamo quindi il pacchetto con i file di esempio già usato in precedenza:

» Download: File index per test web server

Scompattiamolo in entrambe le directory sito1 e sito2.

Ora entriamo e modifichiamo le rispettive copie di index.html per mostrare un messaggio che ci permetta poi di distinguere i due siti. Ad esempio:

  • Benvenuto su sito1.com
  • Stai guardando sito2.com

Tornati alla cartella conf di Apache, svolgiamo le seguenti operazioni:

  1. prendiamo il file vhosts_template.conf
  2. copiamolo nella sottocartella vhosts
  3. rinominiamo il file copiato in sito1.conf (non è indispensabile, ma ci aiuterà, in seguito, a riconoscere "al volo" quale file contenga la configurazione di ogni sito)
  4. apriamo il file sito1.conf con Blocco note
  5. valorizziamo ServerName di modo che corrisponda al dominio che vogliamo gestire (in questo caso: sito1.com)
  6. valorizziamo ServerAlias di modo che risponda anche all'hostname www del nostro dominio (in questo caso: www.sito1.com)
  7. modifichiamo i percorsi di DocumentRoot e <Directory> come già fatto al precedente Passo 12
  8. salvare le modifiche al file e chiudere

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva

Ripetiamo i passi appena elencati di modo da posizionare in vhosts una seconda copia di vhosts_template.conf, questa volta rinominata in sito2.conf e opportunamente modificata per gestire sito2.com.

Richiamate ora Apache Service Monitor dall'Area di notifica (quella dell'orologio, nell'angolo in basso a destra) e cliccate Restart per rendere effettive le modifiche. In caso venisse visualizzato il messaggio d'errore The requested operation has failed!, consultare il seguente articolo:

» Leggi: Apache su Windows: risolvere gli errori The requested operation has failed!, AH00526: Syntax error on line, AH00072: make_sock: could not bind to address 0.0.0.0:80

Se tutto è filato liscio, tornate al browser web e provate ad aprire http://sito1.com oppure http://www.sito1.com: dovreste vedere il messaggio personalizzato che avevamo inserito nel relativo file index.html. Aprendo http://sito2.com oppure http://www.sito2.com verrà visualizzata l'altra pagina.

Come installare Apache Windows 10 trasformare PC server web: Guida Definitiva - vhost sito1 sito2 sito3

Aprendo http://sito3.com (il dominio che avevamo inserito nel file hosts ma non configurato in Apache) continuerà invece ad essere visualizzata la pagina di test del sito di default.

Cosa fare ora?

Arrivati a questo punto, il nostro Apache su Windows è perfettamente configurato e funzionante. Probabilmente, però, vorremo installare anche PHP e MySQL di modo da eseguire un gestore di contenuti (CMS) come WordPress e creare il nostro blog, oppure imparare a programmare. Per il resto della guida:

» Leggi: Installare e configurare un server web: La Grande Guida ad Apache, MySQL, PHP su Windows e Linux in modo facile