Ecco una breve guida per la configurazione di un server web basato su Apache PHP e Mysql in ambiente Windows; al termine del tutorial sarete in grado di montare un sito web in locale dove potrete sviluppare e testare il codice PHP delle vostre applicazioni web.
Per prima cosa dotiamoci del software di cui abbiamo bisogno…
- Per installare l’Apache HTTP Server andare su http://httpd.apache.org/download.cgi, una volta entrati clicchiamo su “other files” ed entriamo nella directory binaries/win32, scarichiamo quindi l’installer (msi) dell’ultima versione disponibile (2.2.6) .
- Possiamo ora scaricare l’interprete del PHP dal sito http://www.php.net/downloads.php , avendo cura di scaricare il pacchetto zip dei binari per windows.
- Scaricare il database mysql per windows all’indirizzo http://dev.mysql.com/downloads/ .
- Scaricare il software phpMyAdmin dal sito http://www.phpmyadmin.net/ .
Per prima cosa avviare l’installer di apache, durante l’esecuzione dell’installer dopo avervi sottoposto la licenza, il programma vi chiederà se volete configurare il servizio sulla porta 80 (default) in modalità di avvio automatico oppure sulla porta 8080 in modalità di avvio manuale.

Se sceglierete la prima opzione assicuratevi di avere la porta 80 a disposizione o a meno di modifiche nella configurazione dell httpd.conf, il vostro server web non salirà (idem per la 8080). Nel caso invece si seguisse la strada di installarlo settando la seconda opzione bisognerà aver cura di avviare il servizio manualmente.
Effettuare la scelta e proseguire con l’installazione, dopotutto sarete comunque in grado di configurare la porta di ascolto successivamente editando il file di configurazione httpd.conf disponibile nella directory conf di Apache.
A questo punto estrarre il contenuto dei binari PHP e rinominare la cartella in php. Metterla per comodità sulla root di del disco rigido, in C:\php .
Passiamo ora ad installare il server di database MySql, estrarre l’archivio scaricato e avviare l’installer. Al termine della procedura di installazione eseguire la configurazione immediata, proseguire scegliendo una configurazione standard e selezionando le opzioni Install As Windows Service e Include Bin Directory in Windows Path.

A questo punto prima di concludere l’installazione scegliere la password di root (amministratore) e terminare effettuando la scrittura del file di configurazione mysql.ini .
Occupiamoci ora di configurare il php, a tal fine andare nella cartella C:\PHP e creare il file di configurazione php rinominando il file php.ini-recommended (effettuare prima una copia di backup) in php.ini, possiamo ora gestire la configurazione del php editando il file php.ini .
Per installare PHP come modulo su Apache, e consentire al server di interpretare il codice php, aprire il file httpd.conf presente nel path di installazione di Apache sotto la directory conf e scorrere il file con un editor fino alle direttive LoadModule… Aggiungere in coda le seguenti direttive…
LoadModule php5_module “c:/php/php5apache2_2.dll”
AddType application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir “C:/php”
Per chiarezza nella prima direttiva si aggiunge ad apache il modulo di php, nella seconda si aggiunge il tipo di applicazione e nella terza si comunica ad apache dove trovare il file di configurazione di php.
Apache e PHP ora dovrebbero funzionare insieme, per effettuare una prova :
- creare un file chiamato phpinfo.php contenente il codice sottostante e spostarlo nella directory htdocs (document root) sotto apache
<?php phpinfo(); ?>
- avviare/riavviare apache, aprire un browser e digitare http://localhost/phpinfo.php (nel caso avessimo configurato apache su un altra porta/ip usare http://host:porta/phpinfo.php)
Se tutto è andato bene dovremmo visualizzare un risultato simile.

Provvediamo ora alla configurazione delle estensioni di mysql per php; apriamo il php.ini e occupiamoci di togliere i puntievirgola iniziali dalle seguenti estensioni:
extension=php_mysql.dll
extension=php_mysqli.dll
Troviamo all’interno del file la direttiva che configura il path dove php cercherà le estensioni…
extension_dir = “./”
Questo parametro indica il percorso relativo o assoluto a partire dal quale php cercherà le estensioni. Nel caso si avessero delle esigenze specifiche modificarlo opportunamente tenendo conto che se si specifica un percorso relativo php cercherà le estensioni a partire dalla stessa directory del php.ini .
Copiamo il file C:\php\libmysql.dll in C:\php\ext e modifichiamo l’extension_dir in questo modo:
extension_dir = “C:\php\ext”
Infine copiare il file C:\php\libmysql.dll dentro C:\windows\system32 , salviamo il php.ini e riavviamo il server.
A questo punto possiamo testare la connessione con il seguente script:
<?php
<span style="color: #008080;">// Connessione a MySQL
</span>$link = mysql_connect('localhost', 'root', 'password_root_mysql') or die('Connessione fallita: ' . mysql_error());
echo 'Connesso.';
mysql_close($link);
?>
Salviamo il codice precedente in un file chiamato test.php e mettiamolo nella directory htdocs.
Aprire un browser e digitare http://localhost/test.php (nel caso avessimo configurato apache su un altra porta/ip usare http://host:porta/test.php) e verificare che la connessione sia riuscita.
