Le applicazioni dedicate all’installazione automatica di Apache sono numerose (Xampp, Mamp, WampServer, EasyPHP, ecc…), più o meno tutte posseggono le stesse caratteristiche, la differenze principali tra una e l’altra si riducono in maggior parte ai sistemi operativi supportati, e più o meno tutte svolgono egregiamente il loro lavoro. Ma se volessimo costruire il nostro ambiente di sviluppo personalizzato decidendo, per esempio, quali versioni di PHP e di MySQL installare?
Mi sono posto la domanda solo poco tempo fa. In seguito a un’installazione pulita di Windows 10, ho deciso come faccio di solito di scaricare e installare Xampp. Arrivando sul sito ho notato che l’ultima versione viene distribuita con MariaDB. Niente da fare, preferisco MySQL, così provo a guardare WampServer: bene questo viene rilasciato con MySQL, ma PHP è in una deludentissima versione 5.5 e a me serve la versione 7 per provare le nuove funzionalità e anche perché si dice che incrementi notevolmente le prestazioni.
Quindi decido di installare manualmente quello che mi serve per creare un web server locale: Apache e le ultime versioni di PHP e MySQL.
Installare Apache
Apache HTTP Server Project non fornisce i file binari di Apache per Windows, solo codice sorgente, offre però dei siti alternativi dai quali scaricare i binari, come Apache Lounge.
Effettuare il download scegliendo il file in base all’architettura del proprio sistema operativo (avendo un SO a 64 bit io ho scelto il file httpd-2.4.18-win64-VC14.zip) ed estrarlo nella cartella root C:\ del dispositivo.
Come suggerisce il file contenuto all’interno dell’archivio installiamo Visual C++ Redistributable for Visual Studio 2015 necessario al funzionamento di Apache su Windows, lanciando l’eseguibile appena scaricato.
Aprire un Prompt dei comandi, spostarsi all’interno della directory C:\Apache24\bin ed eseguire il file httpd.exe all’interno di essa.
cd C:\Apache24\bin httpd.exe
Per ora ignoriamo l’avvertimento che dice Could not reliably determine the server’s fully qualified domain name, apriamo un browser e andiamo all’indirizzo http://localhost/
Il messaggio It works! conferma che l’installazione di Apache è andata a buon fine.
Fermiamo Apache digitando Ctrl+c sulla finestra di Prompt dei comandi aperta in precedenza.
Correggiamo il warning scritto sopra: per farlo apriamo con un editor di testo il file di configurazione di Apache C:\Apache24\conf\httpd.conf decommentiamo la linea ServerName www.example.com:80
rimuovendo il simbolo # davanti ad essa e la cambiamo in ServerName localhost:80
Impostare Apache come servizio, rende più semplice avviare e fermare il server senza interagire con la linea di comando. Per farlo ritorniamo sul Prompt dei Comandi e sempre dalla directory bin dove lo abbiamo lasciato lanciamo il comando httpd.exe -k install
Ora dovremmo essere in grado di gestire Apache direttamente attraverso services.msc di Windows.
Installare PHP7
Effettuare il download dei file binari di PHP che corrispondano all’architettura dell’installazione di Apache, quindi x86 per sistemi a 32 bit e x64 per sistemi a 64 bit.
Attenzione: è importante scaricare le versioni Thread Safe affinché PHP venga utilizzato attraverso Apache.
Creare una cartella chiamata PHP in C:\ ed estrarre il contenuto dell’archivio appena scaricato al suo interno. In C:\PHP troviamo il file php.ini-development, rinominarlo in php.ini ed aprirlo con un editor testuale.
Cerchiamo la linea al suo interno la linea extension_dir = "ext"
la decommentiamo eliminando il ;
che la precede e modifichiamo ext
in C:\PHP\ext
indicando a PHP dove recuperare i file delle estensioni.
Una serie di linee ; extension=
ci indicheranno le estensioni disponibili per questa versione PHP, è possibile attivarle decommentandole.
Cerchiamo e decommentiamo la linea date.timezone =
e la modifichiamo in accordo con il nostro fuso orario, in questo caso diventa date.timezone = Europe/Rome
Aggiungiamo le seguenti linee al file C:\Apache24\conf\httpd.conf configurando Apache per lavorare con PHP.
LoadModule php7_module C:/PHP/php7apache2_4.dll <IfModule php7_module> DirectoryIndex index.html index.php AddHandler application/x-httpd-php .php PHPIniDir "C:/PHP" </IfModule>
Riavviamo Apache per rendere effettiva la configurazione.
Per effettuare un test verificando che tutto sia settato al meglio possiamo creare un file chiamato info.php dentro la cartella C:\Apache24\htdocs e collegarci con un browser all’indirizzo http://localhost/info.php
Una schermata simile alla seguente confermerà la corretta configurazione di PHP, restituendo informazioni sulla sua installazione, sulle estensioni attivate e sul sistema in generale.
Installare MySQL
Scaricare l’installer ed eseguire il file .msi. Un wizard ci guiderà attraverso la configurazione di MySQL. Il mio consiglio è di installare anche MySQL come servizio in modo da poterne controllare l’avvio attraverso services.msc di Windows come abbiamo fatto per Apache.