Windows 10 apache

Installare Apache e PHP su Windows 10 con XAMPP

I map server per funzionare richiedono la presenza di un web server;  uno di quelli più diffusi è Apache il quale, pur essendo nativo per sistemi Linux, ormai da tanti anni è disponibile anche per Windows. In questo articolo vediamo qual’è un modo comodo e semplice (adatto anche per i meno esperti) per installare e configurare Apache insieme al PHP su Windows: il pacchetto XAMPP.

La comodità di XAMPP risiede principalmente in due aspetti:

  1. oltre al  server HTTP Apache installa anche l’interprete dei linguaggi PHP e Perl;
  2. esiste un comodo pannello di controllo, con il quale è possibile impostare, avviare e fermare i vari servizi;

Tutto ciò evita di effettuare la configurazione a mano sia di Apache che del supporto al PHP, cosa non sempre facile soprattutto per chi non è molto pratico con i comandi di shell e la scrittura dei file di CONF.

logo XAMPP

Anche se per i nostri fini (avere un ambiente minimo per un map server) ci interessa meno, un altro grande vantaggio di XAMPP è che installa uno stack completo di servizi che generalmente sono presenti in un web server:

  • un database MySql  (MariaDB) e la relativa interfaccia web phpMyAdmin;
  • un servizio FTP (Filezilla);
  • l’application server Tomcat per servlet Java;
  • un mail server (Mercury)

e anche questi servizi sono controllabili e configurabili dall’interfaccia di comando di XAMPP.

Per scaricare l’ installer per Windows basta andare sulla homepage di XAMPP e qui trovate subito le indicazioni per effettuare il download in base al sistema che vi interessa (per noi è Windows). E’ sottinteso che così si scarica l’ultima versione di XAMPP; invece nella pagina di download, trovate  anche altre versioni meno recenti. Ma se non c’è qualche particolare motivo (per es. usare ancora il PHP 5) è sempre preferibile installare l’ultima versione.

Noterete anche che per Windows esiste solo la versione a 32 bit; non importa, anche se avete Windows a 64 bit (ormai i sistemi a 32 bit sono rari) va bene lo stesso!

XAMPP download

L’installazione

Avviare l’installazione di XAMPP lanciando l’esecuzione dell’installer scaricato è molto semplice; vediamo quali sono i passaggi.

All’inizio vi compare subito questo messaggio di warning:

warning

non vi preoccupate, premete OK e andate avanti.

Nel passaggio successivo vi viene chiesto quali componenti installare; di default sono selezionati tutti e se volete potete lasciare questa opzione. Oppure se vi interessa solo il web server Apache e il supporto PHP, cioè quanto basta per fare funzionare in seguito un map server,  selezionate solo questi due. Eventualmente se si tratta di un server remoto, vi conviene anche Filezilla FTP server.

opzioni xampp

Nel caso in cui il map server che vorrete usare è GeoServer, allora dovete necessariamente installare anche Tomcat.

Nel passaggio successivo vi viene chiesto dove installare XAMPP; potete lasciare la cartella proposta o cambiarla. Considerate soltanto che in questa cartella andranno poi posizionati i file delle pagine o dei servizi web che vorremo pubblicare, quindi scegliete una posizione opportuna e con abbastanza spazio disco libero.

cartella installazione

Andando ancora avanti vi compare questa finestra informativa sul servizio Bitnami utile per installare in seguito dei siti web basati su i CMS più popolari (WordPress, Joomla e Drupal) o altre app open source; deselezionate il check learn more … e procedete.

xammp_bitnami

A questo punto inizia il processo di installazione vero e proprio (una progress bar  indica l’avanzamento) ed arrivati alla fine compare questo messaggio relativo alle impostazioni del firewall di Windows:

windows firewall

cliccate su “consenti accesso” altrimenti il vostro web server non potrà comunicare all’esterno.

L’installazione termina con una finestra in cui ci viene chiesto se volete avviare il pannello di controllo di XAMPP e naturalmente scegliamo di si.

Il pannello di controllo

Il pannello di controllo di XAMMP può essere richiamato in qualunque momento; basta andare nel menù delle applicazioni di Windows e lanciare la sua esecuzione.

menù XAMPP

Come già detto all’inizio, il pannello consente di controllare facilmente Apache e gli altri eventuali servizi che abbiamo installato e questo è sicuramente un grande vantaggio. L’operazione fondamentale è quella di avviare ed eventualmente fermare il web server e per farlo c’è l’apposito bottone start/stop (lo stesso bottone diventa start oppure stop a secondo dello stato attuale del web server).

XAMPP pannello controllo

Dopo che avviate Apache, se non ci sono problemi,  il suo modulo viene evidenziato in verde e vengono indicate le porte TCP che  adopera (quelle di default sono la 80 e la 443);  premendo il tasto Admin sul browser si apre la pagina principale (home page) di XAMPP.

XAMPP start apache

La stessa pagina si apre se nella barra indirizzi del browser scrivete localhost, anzi questa può essere una verifica per vedere se il web server Apache sta effettivamente funzionando.

XAMPP homepage

Una piccola nota: dopo che avete avviato il web server,  potete tranquillamente chiudere il pannello di controllo (il web server resta attivo). Il pannello anche se non è visibile, in realtà resta in esecuzione; se cliccate sull’icona di windows (in basso a Dx) che mostra le applicazioni attive in background, la trovate lì e se volete potete richiamarla.

win background apps

Altri due bottoni disponibili nel pannello di comando per ogni servizio ed in particolare per Apache (quello che ci interessa) sono:

  • Config : permette di accedere ai diversi file di CONF di Apache e del PHP;
  • Logs: permette di accedere ai file di log di Apache, per controllare eventuali errori o comportamenti anomali.

apache conf

A proposito dei file di CONF (il principale è httpd.conf), per la maggior parte degli utenti, già va bene come sono stati impostati con l’installazione di XAMPP. Tuttavia può succedere che bisogna modificarli (ovviamente sapendo come si fa) e allora avere la possibilità di accedervi subito è molto comodo.

Abbiamo poi il bottone Config  generale di XAMPP (nell’angolo in alto a Dx del pannello) che serve per impostare vari aspetti del suo funzionamento; tra le varie cose c’è la possibilità di far partire automaticamente (autostart) i servizi installati (Apache, Filezilla, Tomacat, … etc) ogni volta che si apre il pannello di controllo.

XAMPP config

Altro bottone comodo è Explorer con il quale si apre una finestra che mostra la directory in cui è stato installato XAMPP con tutti i suoi servizi. Può capitare che sia necessario aprire/leggere alcuni dei files in essa contenuti. Sicuramente servirá aggiungerne altri, quando si devono pubblicare sul web delle pagine o dei servizi; pertanto questa scorciatoia è  molto utile. La figura seguente mostra la directory di XAMPP con evidenziati alcune delle cartelle più utili e i file .bat che eseguono il pannello di controllo.

XAMPP directory

Notiamo poi tanti altri file .bat che servono per eseguire altre azioni; chi ha un pò di pratica con Wndows sa bene a cosa servono i file batch. Per esempio ci sono i file: apache_start.bat e apache_stop.bat che avviano e fermano il web server Apache.

Controllare il PHP

Il corretto comportamento dell’interprete PHP è molto importante, perchè è un linguaggio server-side molto diffuso ed in particolare perchè molti map web client hanno moduli che lo utilizzano. Dopo aver installato XAMPP, una prova semplice per verificare se il PHP funziona, si può fare cliccando sulla voce PHPinfo che compare nel menù della home page di XAMPP.

XAMPP PHPinfo

Se è tutto a posto  si aprirà la seguente pagina che appunto è il risultato dell’esecuzione della funzione phpinfo() :

PHPinfo

Oltretutto questa pagina è molto utile perchè, a partire da quale versione del PHP è stata installata,  vengono mostrate tante informazioni sulla configurazione attuale del PHP e dei suoi moduli già compresi nell’installazione.

Oppure se volete, potete controllare se viene eseguito correttamente qualunque altro vostro file .php; basta mettere questo file dentro la cartella htdocs di XAMPP e poi richiamarlo nel browser (http://localhost/mia_prova.php) e vedere il risultato.

prova PHPCon l’installazione di XAMPP, l’interprete PHP è già configurato in un modo ottimale per la gran parte delle applicazioni web. Tuttavia se dovete fare delle modifiche (… ovviamente sapendo come fare!) il file da editare è php.ini che si trova dentro la sud-directory php di XAMPP ed è  raggiungibile facilmente anche con il tasto config di Apache sul pannello di controllo.

php.ini

Configurare Apache come servizio

Abbiamo visto come avviare manualmente il servizio Apache dal pannello di controllo di XAMPP; abbiamo anche visto che nella configurazione di XAMPP è possibile scegliere l’opzione autostart, cioè l’avvio in automatico di Apache ogni volta che si apre il pannello di controllo.

Una terza possibilità è installare Apache come servizio di Windows; diciamo  anzi, che questa è la scelta preferita nel caso di un web server di produzione (non solo di test) che deve essere sempre attivo anche se sul sistema non c’è alcun utente loggato. Infatti l’avvio di Apache dal pannello di controllo di XAMPP richiede ovviamente un utente attivo (preferibilmente admin) sul sistema; appena l’utente dovette disconnettersi il servizio Apache si ferma.

Per installare Apache come servizio di Windows possiamo ancora usare il  pannello di controllo di XAMPP: basta selezionare (o spuntare) la casellina  service che compare in corrispondenza del modulo Apache, avendo l’accortezza che questo non sia già avviato (eventualmente prima fermarlo).

set apache service

Ma per poter mettere questa “spunta” c’è una condizione; se infatti provate a farlo normalmente, vedrete che non ci riuscite: la casella resta sempre grigiata! La condizione consiste nel lanciare l’esecuzione del pannello di controllo di XAMPP con i diritti di amministratore.

Per eseguire il pannello di controllo di XAMPP (così come qualunque altro eseguibile) come amministratore, dovete:

  1. posizionarvi sulla sua voce di menù (menù principale delle applicazioni di Windows);
  2. fare click col tasto destro del mouse;
  3. nel pop-up che appare, scegliere altro;
  4. nel successivo pop-up scegliere esegui come amministratore.

esegui come admin

Ora il pannello di controllo di XAMPP compare leggermente diverso: c’è una X accanto ai servizi già predisposti per essere attivati. Se cliccate sulla X di Apache, vi viene fatta questa domanda:

servizio Apache

… ovviamente confermate (Yes) e , se non ci sono problemi, dopo qualche secondo la spunta accanto ad Apache diventa verde: il servizio è stato configurato!

start apache service

Ora potete premere il bottone start e così Apache verrà avviato come servizio di Windows.

Sempre nel pannello di controllo di XAMPP c’è un bottone Services con il quale si apre la console Windows che permette di visualizzare e controllare tutti i servizi che sono configurati nel sistema. Se la apriamo vedremo che adesso, tra i tanti servizi c’è anche Apache 2.4.

servizi Windows

Notiamo anche che accanto ad ogni servizio ci sono anche delle indicazioni sul suo stato attuale e il tipo di avvio. Quindi possiamo controllare l’esecuzione del servizio Apache anche da qui;

  • è possibile controllare lo stato: avviarlo, fermarlo o riavviarlo
  • è possibile cambiare il tipo di avvio: manuale, automatico e disabilitato.

Infine, nel caso in cui volessimo disinstallarlo come servizio e tornare al funzionamento normale, dobbiamo ripetere la stessa procedura fatta per installarlo, cioè eseguire il pannello di controllo come amministratore e poi cliccare sulla “spunta” servizio per cancellarla (ritorna dalla V alla X).

Come pubblicare pagine e siti web

Pubblicare pagine web (file .html o .php) o interi siti web con XAMPP  è molto semplice: basta mettere i files direttamente dentro la directory htdocs oppure dentro una sua sub-directory; anzi questa seconda soluzione è preferibile per distinguere siti o applicazioni diverse. Ovviamente anche tutti gli altri file richiamati dentro la pagina html o php (.css, .js, .jpg, … etc) dovranno trovarsi dentro htdocs.

L’indirizzo con cui la pagina o la risorsa web, sarà accessibile dal browser, dipende dalla sua posizione dentro htdocs. Per esempio se questa è la situazione:

htdocs

gli URL da usare sono:

  • http://localhost/mia_prova.php
  • http://localhost/sito1/index.html

Naturalmente stiamo dando per scontato di accedere le risorse web dalla stessa macchina in cui  è istallato XAMPP e quindi il web server Apache, ecco perchè negli URL scriviamo localhost.

Altrimenti dobbiamo conoscere l’indirizzo IP assegnato alla macchina (in rete locale o pubblica) o se c’è, il nome dominio associato tramite un DNS (Domain Name Server). Se per esempio siamo su una rete locale (LAN) e l’indirizzo IP del computer è 192.168.1.13, allora per accedere i precedenti file dal browser di un altro client in rete, dovremo scrivere:

  • http://192.168.1.13/mia_prova.php
  • http://192.168.1.13/sito1/index.html

Qui non andiamo oltre perché non è lo scopo di questo articolo, ma per chi non lo sapesse Apache consente diversi modi per indirizzare le pagine e i siti web ospitati, come per esempio gli alias, i redirect e il virtual hosting.

Possibile problema dell’avvio di Apache

L’installazione di Apache su Windows con XAMPP è veramente molto semplice e, tranne rari casi, funziona già da subito senza bisogno di intervenire con altre modifiche. In ogni caso, quando dal pannello di controllo si compie una qualche azione,  come appunto l’avvio di Apache, è sempre utile guardare il riquadro di log per controllare eventuali messaggi di errore o di warning.

Uno dei casi più frequenti del mancato avvio di Apache, è la presenza di un altro servizio che sta già utilizzando la porta TCP n° 80. Potrebbe succedere infatti che nel vostro sistema Windows ci sia installato (volontariamente o involontariamente) e attivo il World Wide Web Service che sta utilizzando la stessa porta.

Apache start error

Per risolvere il problema possiamo intervenire in vari modi.

Un primo modo molto rapido e semplice, consiste nell’impedire che Apache e i WWW service siano contemporaneamente attivi; quindi se vogliamo avviare Apache, prima dobbiamo fermare il WWW service. Per fare questo, apriamo la console di Windows per il controllo dei servizi (possiamo usare il bottone sul pannello di controllo di XAMPP), individuiamo il World Wide Web Publishing Service, ci clicchiamo sopra col tasto Dx del mouse e scegliamo la voce Proprietà.

WWW service

Dopodichè, fermiamo il servizio se è attivo (tasto Stop) e poi cambiamo il tipo di avvio da Automatico a  Manuale. In questo modo saremo noi a controllare se e quando avviare questo servizio.

Un secondo modo più drastico consiste nel disinstallare del tutto il WWW service di Windows perchè non ci serve. Allora apriamo il pannello di controllo di Windows e poi scegliamo la voce Disinstalla un programma. Nella finestra che si apre, selezioniamo la voce Attivazione o disattivazione delle funzionalità di Windows.

Win installazione programmi

Individuiamo quindi il componente Internet Information Services ed espandiamolo nelle funzionalità che comprende, tra le quali appunto c’è il WWW Services.

IIS componenti

Per disinstallarlo togliamo la selezione su di esso oppure su tutto il gruppo Internet Information Services. Premiamo OK e poi per rendere effettiva la modifica, riavviamo il computer.

Un’ultima possibilità consiste nel cambiare la porta TCP usata da Apache: togliamo 80 e ne scegliamo un’altra che sia libera, per esempio la 81. Nel pannello di controllo di XAMPP, clicchiamo sul bottone Config di Apache e poi scegliamo la voce Apache (httpd.conf) così che apriamo, con l’editor predefinito, il principale file CONF di Apache.

httpd_conf

Cerchiamo la riga con scritto Listen 80 e al posto di 80 scriviamo 81; quindi salviamo la configurazione  e riavviamo Apache. Da questo momento in poi il servizio del web server sarà attivo sulla porta 81, per questo motivo dovremo specificarla quando scriviamo un qualunque URL; per esempio:

  • http://localhost:81/mia_prova.php

Comunque quest’ultima soluzione è la meno consigliabile, proprio per il fatto che, ogni volta che sarà necessario, dovremo specificare che la porta del servizio è diversa da quella di default 80.

Sicuramente tra le tre viste la soluzione migliore è la seconda, cioè disinstallare il WWW service di Windows perchè, a meno che non ci siano dei motivi ben precisi, se avete installato Apache, è inutile che sulla stessa macchina ci sia installato anche il servizio WWW di Windows.

se questo articolo ti è piaciuto condividilo: