Installare e configurare XAMPP su Windows

XAMPP è un ambiente di sviluppo PHP completo, completamente gratuito e multipiattaforma, infatti è disponibile per Windows, Linux e OS X.

Di questo genere di installazioni ne esistono diverse, ad esempio WAMP e EasyPHP, ma XAMPP è quella che ha avuto il maggior successo.

Questa applicazione è molto utile per poter avere sul proprio computer tanto di web server Apache, database MariaDB e linguaggio di programmazione PHP. L'uso principale che se ne fa è lo sviluppo di siti internet dinamici basati su CMS come Drupal e Wordpress.

Per installare XAMPP è necessario scaricare il pacchetto con la versione PHP che ci interessa all'indirizzo https://www.apachefriends.org/it/index.html e a download terminato lanciare l'installer cliccando due volte sul file.

La versione PHP da scegliere dipende da ciò che vogliamo utilizzare insieme a XAMPP. Nel caso dei CMS bisogna consultare i requisiti di sistema. Drupal 7 e 8, ad esempio, prevedono anche il supporto alla versione 7 di PHP. Quest'ultima è supportata e raccomandata anche da Joomla dalla versione 3 in poi. Il pacchetto con PHP 5.6 accontenta un po' tutti i CMS più diffusi, a partire da Wordpress.

Dopo aver terminato di installare il nostro ambiente di sviluppo bisogna configurare XAMPP, quindi fare qualche piccola modifica alle impostazioni di configurazione per non avere problemi o limiti stringenti.

Per iniziare aprire il file con le impostazioni di configurazione PHP raggiungibile tramite il percorso c:\xampp\php\php.ini. Per editare il file sarebbe bene usare un buon editor come Notepad++.

All'interno del file php.ini settare i parametri seguenti con i relativi nuovi valori:

max_execution_time = 600
max_input_time = 600
memory_limit = 512M
post_max_size = 64M
upload_max_filesize = 64M
mysql.connect_timeout = 600

A modifiche effettuate salvare il file php.ini e aprire il file con le impostazioni di configurazione c:\xampp\mysql\bin\my.ini e modificare i valori esistenti nel modo seguente:

max_allowed_packet = 64M
innodb_flush_log_at_trx_commit = 2

Salvato il precendete file, modificare il file c:\xampp\apache\conf\httpd.conf sostituendo

Listen 80

con

Listen 127.0.0.1:80

Successivamente aprire il file c:\xampp\apache\conf\extra\httpd-vhosts.conf  e inserire le righe seguenti:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/directorydiesempio"
    ServerName example.com
    ServerAlias www.example.com
    ErrorLog "logs/example.com-error.log"
    CustomLog "logs/example.com-access.log" common
</VirtualHost>

La prima sezione ci serve per raggiungere in qualsiasi caso il server locale mentre la seconda sezione indica la directory, che in questo caso è stata chiamata directorydiesempio, dove metteremo i files del sito web che vogliamo installare in locale, e l'indirizzo per raggiungerlo, in questo caso example.com.

La seconda sezione va replicata per ogni sito che vogliamo eseguire in locale specificando di volta in volta la cartella di destinazione e l'indirizzo.

A questo punto aprire il file c:\windows\system32\drivers\etc\hosts e trascrivere, uno per ogni riga, tutti i domini che vogliamo raggiungere in locale preceduto dall'IP 127.0.0.1, come nell'esempio qui sotto:

127.0.0.1 example.com
127.0.0.1 www.example.com
127.0.0.1 sottodominio.example.com

Alcuni antivirus bloccano il file hosts per ragioni di sicurezza, quindi effettuare le necessarie modifiche ai settaggi dell'antivirus per poter editare il file.

Attenzione alla scelta dei domini che si aggiungono nel file hosts perchè quelli inseriti al suo interno non sono più raggiungibili online. E' consigliabile, quindi, usare dei sottodomini del nostro sito non esistenti in internet. Se ad esempio gestiamo www.example.com possiamo creare in locale sottodominio.example.com. Possiamo anche inserire un dominio con una estensione di fantasia.

Di default l'installazione MySQL/MariaDB prevede un utente root senza password. Per far fronte a questo inconveniente di sicurezza è sufficiente aprire il Prompt dei comandi di Windows cliccando sul pulsante Shell presente all'interno del pannello di controllo di XAMPP e inserire la seguente riga di comando

mysqladmin --user=root password "mypassword"

dove mypassword sarà la password che vogliamo inserire. Se in un secondo momento la vogliamo modificare è sufficiente digitare

mysqladmin --user=root --password=vecchiapassword password "nuovapassword"

Per usare il server lanciare l'applicazione XAMPP e dal pannello di controllo cliccare su Start in corrispondenza del modulo Apache. Se si deve usare un CMS si ha bisogno di un database, quindi lanciare anche il modulo MySQL, entrare in phpMyAdmin tramite il pulsante Admin presente nel pannello di controllo e creare un nuovo database dal menù di sinistra. Se si erano già avviati i moduli prima delle modifiche ai file di configurazione cliccare su Stop e poi riavviarli per rendere effettivi i cambiamenti.

Dal pannello di controllo cliccando su Config apparirà una finestra di configurazione dove poter far avviare automaticamente i moduli che ci interessano ogni volta che lanciamo XAMPP. Le voci da spuntare si trovano nella sezione Autostart of modules.