XAMPP è un ambiente server locale che permette di eseguire Apache, MariaDB, PHP e altri componenti direttamente sul computer. È particolarmente utile quando vuoi sviluppare un sito, provare codice PHP o installare WordPress senza pubblicare nulla online.

Il vantaggio è semplice: invece di installare e configurare separatamente web server, database e PHP, XAMPP prepara gran parte dello stack in un unico pacchetto.

Per WordPress questo significa poter creare un sito raggiungibile, per esempio, da http://localhost/miosito/, lavorando sui file e sul database senza dipendere da un hosting pubblico.

C’è però una distinzione importante. XAMPP continua a essere molto utile per sviluppo, formazione e test, ma non devi considerare automaticamente il suo stack desktop equivalente a quello di un hosting WordPress moderno. Le versioni di PHP e MariaDB distribuite nei pacchetti desktop possono infatti essere differenti da quelle raccomandate attualmente da WordPress.

In questa guida vedremo quindi sia come funziona XAMPP, sia come installarlo e configurarlo correttamente, creare il database con phpMyAdmin, installare WordPress e risolvere i problemi più frequenti con Apache, localhost e MariaDB.

Cos’è XAMPP e a cosa serve davvero

XAMPP è una distribuzione gratuita realizzata dal progetto Apache Friends per creare rapidamente un ambiente web locale.

Il nome viene tradizionalmente ricondotto a:

  • X: cross-platform;
  • A: Apache;
  • M: MySQL, componente che nelle versioni moderne del pacchetto è stato sostituito da MariaDB;
  • P: PHP;
  • P: Perl.

Questo spiega anche una piccola incoerenza che può confondere chi utilizza XAMPP per la prima volta: in alcuni punti dell’interfaccia o della documentazione puoi ancora incontrare il termine MySQL, anche se le versioni moderne del pacchetto distribuiscono MariaDB.

La pagina ufficiale di download di XAMPP indica infatti MariaDB fra i componenti inclusi.

Apache, MariaDB, PHP e phpMyAdmin: cosa fa ogni componente

Per capire davvero XAMPP conviene separare i componenti invece di considerarlo un unico programma.

ComponenteFunzioneRuolo con WordPress
ApacheWeb server che riceve le richieste del browserServe le pagine del sito locale
MariaDBServer database relazionaleMemorizza articoli, impostazioni, utenti e altri dati WordPress
PHPInterprete del linguaggio PHPEsegue il core, i temi e i plugin WordPress
phpMyAdminInterfaccia web per amministrare il databasePermette di creare, modificare, importare ed esportare database
PerlLinguaggio e runtime incluso nello stackNon è necessario per una normale installazione WordPress

Quando apri una pagina WordPress in locale, il flusso è sostanzialmente questo:

browser → localhost → Apache → PHP → WordPress → MariaDB → Apache → browser

XAMPP rende disponibile l’infrastruttura necessaria affinché questo processo possa svolgersi sul tuo computer.

Schema del flusso tra browser, Apache, PHP, WordPress e MariaDB in un ambiente XAMPP locale
In XAMPP, Apache riceve la richiesta locale, PHP esegue WordPress e MariaDB fornisce i dati necessari alla pagina.

XAMPP, localhost e server locale non sono la stessa cosa

Questi termini vengono spesso utilizzati come sinonimi, ma descrivono cose diverse.

XAMPP è il software che prepara e gestisce lo stack.

Localhost è invece il nome attraverso il quale il computer può raggiungere sé stesso.

Se digiti http://localhost senza avere un web server attivo, non appare automaticamente un sito. Deve esserci un servizio, come Apache, in ascolto sulla porta richiesta.

Se vuoi approfondire questa distinzione e confrontare XAMPP con Local, WordPress Studio e altri ambienti, nella guida dedicata abbiamo spiegato come funziona localhost con WordPress.

XAMPP è ancora una buona scelta per WordPress?

Sì, soprattutto per imparare, sviluppare e fare test locali. Non necessariamente, però, se il tuo obiettivo è riprodurre nel modo più fedele possibile lo stack del server di produzione.

È una distinzione più importante di quanto possa sembrare.

XAMPP nasce per rendere semplice la configurazione di un ambiente di sviluppo. Un hosting WordPress moderno, invece, viene gestito con obiettivi diversi: sicurezza, aggiornamento continuo dello stack, prestazioni, compatibilità e isolamento.

Lo stack desktop di XAMPP e i requisiti WordPress attuali

Al momento della verifica editoriale, la pagina ufficiale di Apache Friends propone per Windows e Linux un pacchetto desktop con PHP 8.2.12 e MariaDB 10.4.32. Per macOS la versione desktop più recente pubblicata nella pagina download utilizza PHP 8.2.4 e MariaDB 10.4.28.

WordPress, nella propria pagina ufficiale dei requisiti, raccomanda invece:

  • PHP 8.3 o superiore;
  • MariaDB 10.11 o superiore, oppure MySQL 8.0 o superiore;
  • Apache o Nginx con supporto alla riscrittura degli URL;
  • HTTPS.

La differenza non deve essere letta come una semplice incompatibilità.

WordPress può funzionare anche con versioni precedenti di PHP e database. La documentazione ufficiale mantiene infatti una soglia di compatibilità legacy più bassa rispetto alle versioni raccomandate.

Il punto è un altro: “funziona” e “replica il mio server di produzione” sono due criteri diversi.

Se devi imparare WordPress, testare un plugin, sviluppare un tema o fare esperimenti PHP, lo stack desktop di XAMPP può essere perfettamente sufficiente.

Se invece devi verificare un problema che compare soltanto con una determinata versione PHP o MariaDB del server live, devi prima controllare che l’ambiente locale utilizzi realmente quelle versioni.

Compatibile non significa identico alla produzione

Immagina che il tuo hosting utilizzi:

  • una versione PHP differente;
  • Nginx invece di Apache;
  • Redis;
  • una diversa configurazione di php.ini;
  • regole server specifiche;
  • HTTPS obbligatorio;
  • object cache;
  • limiti differenti di memoria e processi.

Un plugin può funzionare correttamente su XAMPP e comportarsi diversamente sul server pubblico.

Questo non rende inutile il test locale. Significa semplicemente che XAMPP è un ambiente di sviluppo, non una replica garantita dell’hosting.

Per modifiche ad alto rischio conviene quindi affiancare il locale a un ambiente di staging WordPress configurato in modo simile alla produzione.

Quando sceglierei XAMPP

XAMPP ha particolarmente senso se vuoi:

  • imparare come interagiscono Apache, PHP e database;
  • sviluppare siti PHP sul computer;
  • installare WordPress manualmente;
  • modificare temi o plugin;
  • provare codice;
  • fare debug senza toccare un sito pubblico;
  • creare database locali con phpMyAdmin;
  • lavorare senza dipendere costantemente da una connessione Internet.

Se invece vuoi soltanto creare rapidamente siti WordPress locali e non ti interessa configurare lo stack, strumenti specifici per WordPress possono offrire un workflow più semplice.

XAMPP conserva però un vantaggio didattico notevole: non nasconde completamente il server. Per capire cosa succede tra browser, PHP, Apache e database è spesso più utile di un ambiente che automatizza tutto.

Come scaricare e installare XAMPP

Il punto di partenza corretto è sempre la pagina ufficiale Apache Friends.

Evita siti di download non ufficiali: un ambiente server esegue codice sul tuo computer e non è un software che conviene recuperare da repository casuali.

La pagina propone pacchetti per Windows, Linux e macOS e, separatamente, una soluzione denominata XAMPP for Browsers.

Prima di scaricare il file controlla la versione PHP inclusa. Se stai preparando l’ambiente per riprodurre un sito esistente, verifica anche la versione PHP utilizzata dal server reale.

Installare XAMPP su Windows

Su Windows il procedimento è abbastanza lineare.

Scarica l’installer a 64 bit dalla pagina ufficiale ed eseguilo.

Durante la configurazione puoi scegliere quali componenti installare. Per un normale progetto WordPress sono principalmente necessari:

  • Apache;
  • MySQL/MariaDB;
  • PHP;
  • phpMyAdmin.

Altri componenti come FileZilla, Mercury o Tomcat non sono indispensabili per installare WordPress in locale.

La directory predefinita più comune è:

C:\xampp

Terminata l’installazione, apri XAMPP Control Panel.

Troverai i vari servizi con i comandi Start, Stop, Admin, Config e Logs.

Per una normale installazione WordPress devi almeno avviare:

Apache
MySQL

La voce può essere indicata come MySQL nell’interfaccia, anche se il database distribuito dal pacchetto è MariaDB.

Quando entrambi i servizi risultano avviati, apri:

http://localhost/

Se compare la dashboard XAMPP, Apache sta rispondendo correttamente.

Installare XAMPP su macOS

Scarica dalla pagina ufficiale il pacchetto corrispondente a macOS e al tipo di macchina che stai utilizzando.

Apache Friends distingue inoltre fra configurazioni native e virtualizzate; se utilizzi un Mac Apple Silicon, controlla sempre le indicazioni riportate accanto al download invece di affidarti a vecchi tutorial costruiti esclusivamente sui Mac Intel.

Dopo l’installazione puoi avviare il pannello XAMPP e attivare Apache e il database.

La documentazione ufficiale indica manager-osx come gestore dei servizi.

Anche in questo caso la verifica più semplice consiste nell’aprire:

http://localhost

Per file e configurazioni, l’installazione tradizionale utilizza una struttura sotto:

/Applications/XAMPP/xamppfiles/

Per esempio, il file principale di configurazione di Apache si trova normalmente in:

/Applications/XAMPP/xamppfiles/etc/httpd.conf

e php.ini in:

/Applications/XAMPP/xamppfiles/etc/php.ini

La FAQ XAMPP per macOS resta la fonte migliore per controllare percorsi e particolarità del pacchetto corrente.

Installare XAMPP su Linux

Per Linux Apache Friends distribuisce un installer .run.

Dopo averlo scaricato, spostati nella directory che contiene il file e rendilo eseguibile:

chmod 755 xampp-linux-*-installer.run

Quindi avvia l’installer con privilegi amministrativi:

sudo ./xampp-linux-*-installer.run

La documentazione ufficiale XAMPP per Linux indica /opt/lampp come directory di installazione.

Per avviare lo stack puoi usare:

sudo /opt/lampp/lampp start

Per arrestarlo:

sudo /opt/lampp/lampp stop

Apache, PHP e gli altri file di configurazione si trovano quindi all’interno di /opt/lampp.

Che cos’è XAMPP for Browsers

Nella pagina download Apache Friends compare anche XAMPP for Browsers.

È un ambiente che permette di eseguire lo stack attraverso il browser e utilizza componenti più recenti rispetto ad alcuni pacchetti desktop tradizionali.

È interessante per fare esperimenti veloci o lavorare senza installare immediatamente tutto sul sistema operativo, ma non lo considererei automaticamente un sostituto della versione desktop.

Se devi sviluppare un progetto con file locali persistenti, editor, Git, strumenti da terminale e un workflow WordPress completo, l’ambiente installato sul computer resta generalmente più prevedibile.

Come configurare XAMPP dopo l’installazione

Non serve modificare decine di impostazioni appena installato il programma.

Per un sito WordPress locale la configurazione iniziale può essere molto semplice:

  1. avvia Apache;
  2. avvia MariaDB/MySQL;
  3. verifica http://localhost;
  4. apri phpMyAdmin;
  5. crea la directory del progetto;
  6. crea il database.

Le modifiche a porte, php.ini, Virtual Host o HTTPS dovrebbero arrivare quando hai un motivo preciso per farle, non come rituale iniziale.

Avviare Apache e MariaDB dal pannello di controllo

Apache è il web server. MariaDB è il database.

Se Apache non è attivo, il browser non può raggiungere normalmente il sito attraverso localhost.

Se MariaDB non è attivo, Apache può anche funzionare, ma WordPress non riuscirà a connettersi al database.

Su Windows puoi gestire entrambi dal Control Panel.

Se tutto è corretto vedrai i servizi in esecuzione e potrai aprire:

http://localhost/

e:

http://localhost/phpmyadmin/

Non è necessario attivare tutti gli altri moduli di XAMPP per far funzionare WordPress.

Come funzionano localhost e la cartella htdocs

Apache deve sapere dove cercare i file da pubblicare.

Nella configurazione standard Windows, la document root di XAMPP è:

C:\xampp\htdocs

Se crei:

C:\xampp\htdocs\miosito

e inserisci al suo interno un file index.php, potrai normalmente raggiungerlo con:

http://localhost/miosito/

È proprio questo meccanismo che useremo per WordPress.

Su Linux la struttura viene installata sotto /opt/lampp, mentre su macOS i percorsi dipendono dalla variante del pacchetto. Il concetto però non cambia: Apache traduce un URL locale in una directory del filesystem configurata come document root.

Questa relazione è importante quando incontri un errore 404. Prima di modificare WordPress, controlla sempre che URL e directory corrispondano.

Aprire phpMyAdmin e creare un database

Con Apache e MariaDB avviati, apri:

http://localhost/phpmyadmin/

phpMyAdmin è l’interfaccia attraverso cui puoi amministrare il database senza usare direttamente la shell SQL.

Per creare il database di un nuovo progetto:

  1. apri Database o Nuovo;
  2. assegna un nome, per esempio wordpress_locale;
  3. crea il database.

Non è necessario creare manualmente le tabelle WordPress. Sarà l’installer del CMS a farlo.

Per un test rapido, nella configurazione XAMPP standard potresti trovare l’utente root senza password. È una delle ragioni per cui questo ambiente non deve essere considerato una configurazione di produzione.

Per progetti locali più strutturati puoi creare un utente database dedicato con password e assegnargli i privilegi sul solo database necessario.

Come cambiare porta quando Apache non può usare la 80

Uno degli errori più comuni è Apache che non riesce ad avviarsi perché un altro processo sta già utilizzando la porta richiesta.

Le porte standard più importanti sono:

HTTP     80
HTTPS    443
MariaDB  3306

Non iniziare aprendo porte nel firewall.

Se Apache non può collegarsi alla porta 80, il primo obiettivo è capire chi la sta già utilizzando.

Su Windows puoi usare il comando Netstat del Control Panel oppure gli strumenti del sistema per associare la porta al processo.

Tra le possibili cause ci sono:

  • IIS;
  • un altro server Apache;
  • un altro ambiente di sviluppo;
  • software che mantiene un servizio HTTP in ascolto.

Se quel servizio non ti serve, puoi arrestarlo.

Altrimenti puoi cambiare la porta di Apache.

Nel file httpd.conf, per esempio, potresti passare da:

Listen 80
ServerName localhost:80

a:

Listen 8080
ServerName localhost:8080

Dopo aver salvato il file, riavvia Apache.

Il sito dovrà quindi essere aperto indicando la nuova porta:

http://localhost:8080/

e WordPress, se si trova nella cartella miosito, sarà raggiungibile da:

http://localhost:8080/miosito/

Cambiare porta risolve il conflitto perché Apache prova a mettersi in ascolto su un endpoint differente. Aprire una porta nel firewall non libera una porta già occupata da un altro processo.

Dove si trovano httpd.conf e php.ini

I due file più importanti quando devi personalizzare XAMPP sono:

httpd.conf
php.ini

httpd.conf governa Apache e contiene direttive relative a:

  • porte;
  • moduli;
  • directory;
  • Virtual Host;
  • accessi;
  • comportamento del web server.

php.ini governa invece PHP e contiene impostazioni come:

  • memory_limit;
  • upload_max_filesize;
  • post_max_size;
  • max_execution_time;
  • estensioni PHP abilitate.

Se un import WordPress molto grande fallisce perché supera la dimensione massima consentita, probabilmente devi intervenire su PHP, non su Apache.

Se invece localhost non risponde perché il server non parte, php.ini difficilmente è il primo posto da controllare.

Capire quale componente genera il problema evita modifiche casuali alla configurazione.

Come installare WordPress su XAMPP passo per passo

Con XAMPP funzionante, installare WordPress richiede essenzialmente quattro operazioni:

  1. scaricare WordPress;
  2. inserire i file in htdocs;
  3. creare il database;
  4. avviare l’installer dal browser.

La procedura è molto simile a un’installazione manuale su hosting, ma invece di caricare i file su un server remoto li inserisci nella document root locale.

Se vuoi confrontare questo procedimento con gli altri metodi disponibili, trovi una panoramica nella nostra guida su come installare WordPress.

Scaricare WordPress e creare la cartella del progetto

Scarica WordPress esclusivamente dal sito ufficiale WordPress.org.

Otterrai un archivio compresso.

Estrailo e copia la cartella dentro htdocs.

Su Windows puoi quindi partire, per esempio, da:

C:\xampp\htdocs\wordpress

Ti consiglio però di rinominare la cartella con il nome reale del progetto:

C:\xampp\htdocs\negozio-test

L’URL diventerà:

http://localhost/negozio-test/

Questa piccola accortezza è molto utile quando cominci ad avere più installazioni locali.

Creare il database WordPress con phpMyAdmin

Apri:

http://localhost/phpmyadmin/

e crea un nuovo database.

Per esempio:

negozio_test

A questo punto hai:

cartella sito: negozio-test
database: negozio_test

I nomi non devono necessariamente coincidere, ma usare una convenzione coerente rende più semplice capire quale database appartiene a quale progetto.

Avviare l’installazione WordPress da localhost

Apri ora:

http://localhost/negozio-test/

Se Apache e MariaDB sono avviati e WordPress si trova nella directory corretta, partirà l’installazione guidata.

WordPress chiederà i dati del database.

In una configurazione XAMPP standard possono essere:

Nome database: negozio_test
Nome utente: root
Password:
Host database: localhost
Prefisso tabelle: wp_

Il campo password può essere vuoto solo se l’utente root della tua installazione XAMPP non ha una password configurata.

Se hai protetto root o hai creato un utente dedicato, devi naturalmente usare quelle credenziali.

Il prefisso wp_ può essere lasciato invariato per un ambiente locale normale. Non è necessario inventare prefissi complessi per completare l’installazione.

Devo modificare manualmente wp-config.php?

Normalmente no.

La procedura ufficiale di installazione WordPress consente di lasciare che sia l’installer a creare wp-config.php automaticamente.

La modifica manuale rimane utile quando:

  • WordPress non riesce a creare il file;
  • vuoi controllare direttamente i parametri del database;
  • devi aggiungere costanti;
  • stai configurando debug o funzionalità avanzate.

Quindi non c’è bisogno di aprire wp-config-sample.php e modificare codice prima ancora di provare l’installazione standard.

Se devi intervenire sul file, trovi una spiegazione completa nella nostra guida a wp-config.php.

Completare l’installazione e accedere a wp-admin

Quando la connessione al database funziona, WordPress ti chiederà:

  • titolo del sito;
  • nome dell’amministratore;
  • password;
  • email.

Per un sito locale usa comunque una password seria se il computer è condiviso o se prevedi di rendere il server raggiungibile dalla LAN.

Terminata la configurazione, l’area amministrativa sarà normalmente disponibile su:

http://localhost/negozio-test/wp-admin/

A questo punto hai una vera installazione WordPress, solo che web server, PHP, file e database si trovano sul tuo computer.

Errori comuni di XAMPP e WordPress: come trovare la causa

Quando XAMPP non funziona, modificare impostazioni a caso è quasi sempre il metodo più lento.

Conviene invece separare il problema in quattro livelli:

Apache → PHP → WordPress → database

Prima individua il livello che non funziona. Solo dopo cerca la soluzione.

Apache non si avvia o le porte 80 e 443 sono occupate

Se Apache non parte:

  1. apri i log;
  2. controlla quali porte sta cercando di utilizzare;
  3. verifica con Netstat quale processo occupa la porta;
  4. arresta il servizio in conflitto oppure cambia la porta Apache;
  5. riavvia il server.

Se http://localhost non risponde perché Apache non si è avviato, modificare WordPress non serve.

La FAQ ufficiale XAMPP per Windows segnala, fra gli altri casi, il possibile conflitto con IIS sulla porta 80.

Evita invece di trasformare automaticamente il problema in una regola firewall. Una porta occupata e una porta bloccata da un firewall sono problemi differenti.

MariaDB/MySQL non parte

Se il servizio database non parte, controlla innanzitutto:

  • il log di MariaDB;
  • la porta 3306;
  • eventuali altri server MySQL/MariaDB attivi;
  • arresti anomali precedenti;
  • lo stato della directory dati.

Non cancellare o sostituire la cartella data seguendo alla cieca un tutorial trovato online, soprattutto se contiene database che ti servono.

La prima operazione, quando i dati hanno valore, è fare una copia della directory prima di tentare interventi di recupero.

Se un altro server occupa la porta 3306, puoi arrestarlo oppure riconfigurare uno dei due servizi su una porta differente.

localhost o phpMyAdmin non si aprono

Se localhost non si apre:

  • verifica che Apache sia avviato;
  • verifica la porta effettivamente utilizzata;
  • prova l’URL comprensivo della porta se l’hai cambiata.

Se Apache usa 8080, per esempio:

http://localhost:8080/

Se invece la dashboard XAMPP funziona ma phpMyAdmin no, controlla anche MariaDB e la configurazione specifica di phpMyAdmin.

Nella configurazione standard, phpMyAdmin dovrebbe essere raggiungibile attraverso:

http://localhost/phpmyadmin/

La documentazione Apache Friends configura normalmente phpMyAdmin in modo che sia accessibile dal computer locale. Non c’è una buona ragione per renderlo pubblicamente raggiungibile per un normale workflow WordPress.

WordPress restituisce 404 o non trova la cartella

Un 404 immediatamente dopo aver copiato WordPress dentro XAMPP è spesso più semplice di quanto sembri.

Controlla la relazione:

C:\xampp\htdocs\miosito

→

http://localhost/miosito/

Se la directory reale si chiama:

wordpress

ma provi ad aprire:

http://localhost/miosito/

Apache sta cercando una directory diversa.

Controlla inoltre che non si sia creata accidentalmente una struttura simile a:

htdocs/wordpress/wordpress/

durante l’estrazione dell’archivio.

Se la home funziona ma le pagine interne restituiscono 404 dopo aver attivato i permalink, il problema può riguardare invece mod_rewrite o .htaccess. In quel caso è utile capire come funziona il file .htaccess in WordPress.

Errore nello stabilire una connessione al database

Quando WordPress mostra “Errore nello stabilire una connessione al database”, verifica nell’ordine:

  1. MariaDB è avviato?
  2. il database esiste?
  3. il nome database è corretto?
  4. l’utente è corretto?
  5. la password è corretta?
  6. DB_HOST punta al server corretto?
  7. MariaDB sta utilizzando una porta non standard?

In una configurazione locale semplice il valore è normalmente:

define( 'DB_HOST', 'localhost' );

Se hai modificato la porta database potresti dover specificare anche quella, per esempio:

define( 'DB_HOST', 'localhost:3307' );

Questa è una situazione in cui controllare direttamente wp-config.php diventa utile.

WordPress chiede credenziali FTP in locale

In un normale ambiente locale WordPress dovrebbe poter scrivere direttamente nelle proprie directory.

Se durante l’installazione di un plugin o un aggiornamento ti chiede credenziali FTP, verifica innanzitutto:

  • proprietà dei file;
  • permessi delle directory;
  • utente con cui viene eseguito il web server;
  • posizione dell’installazione.

Forzare immediatamente:

define( 'FS_METHOD', 'direct' );

può aggirare il controllo, ma non è la prima soluzione che sceglierei.

Prima conviene capire perché PHP non può scrivere nella directory. In particolare su Linux e macOS, permessi e proprietà dei file possono essere la vera causa.

Se il comportamento anomalo coinvolge PHP o WordPress, puoi inoltre usare gli strumenti spiegati nella nostra guida al debug di WordPress.

Configurare XAMPP per lavorare meglio su più progetti

Una sola cartella dentro htdocs è sufficiente per iniziare. Quando però lavori su più siti, una struttura più ordinata evita molta confusione.

Potresti avere:

htdocs/
├── cliente-a/
├── ecommerce-test/
├── plugin-lab/
└── tema-demo/

Gli URL corrispondenti diventerebbero:

http://localhost/cliente-a/
http://localhost/ecommerce-test/
http://localhost/plugin-lab/
http://localhost/tema-demo/

Per molti progetti questo è già sufficiente.

Creare Virtual Host e domini locali personalizzati

Quando vuoi un ambiente più simile a un dominio reale puoi configurare un Virtual Host.

Invece di:

http://localhost/cliente-a/

potresti utilizzare:

http://cliente-a.test/

Su Windows, un esempio essenziale di Virtual Host Apache può essere:

<VirtualHost *:80>
    ServerName cliente-a.test
    DocumentRoot "C:/xampp/htdocs/cliente-a"

    <Directory "C:/xampp/htdocs/cliente-a">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Nel file hosts del sistema dovrai quindi associare il dominio locale al loopback:

127.0.0.1 cliente-a.test

Riavvia Apache dopo le modifiche.

Se il Virtual Host non viene caricato, verifica inoltre che Apache includa il file di configurazione dei Virtual Host.

Questo approccio diventa particolarmente utile quando:

  • lavori con più progetti;
  • il software dipende dal nome host;
  • vuoi URL più leggibili;
  • devi simulare una struttura simile alla produzione.

HTTPS locale: quando serve davvero

Non trasformare automaticamente:

http://localhost/

in:

https://localhost/

solo perché il sito pubblico utilizzerà HTTPS.

La configurazione SSL locale richiede un certificato e un Virtual Host correttamente configurato. Scrivere semplicemente https:// davanti all’URL non abilita TLS.

HTTPS locale diventa utile quando devi testare in condizioni simili alla produzione funzionalità che dipendono dal secure context, certificati, cookie Secure, determinate API del browser o integrazioni specifiche.

Per una semplice installazione WordPress usata per sviluppo di temi e plugin, HTTP locale è spesso sufficiente.

WordPress Multisite su XAMPP

XAMPP può essere utilizzato anche con WordPress Multisite.

Non duplicheremo però qui tutta la configurazione.

Multisite comporta decisioni specifiche su struttura della rete, domini o sottodirectory, file wp-config.php, .htaccess, plugin e gestione dei siti. Ridurlo a qualche snippet copiato dentro una guida XAMPP sarebbe poco utile e, soprattutto, renderebbe più difficile mantenere aggiornate entrambe le risorse.

Se il tuo obiettivo è creare una rete, trovi quindi il procedimento e i criteri di scelta nella guida dedicata a WordPress Multisite.

XAMPP è sicuro? Perché non va usato come server di produzione

XAMPP non è progettato come stack pronto per ospitare un sito pubblico.

Apache Friends lo dichiara direttamente nella propria documentazione: la configurazione privilegia la libertà dell’ambiente di sviluppo e non l’hardening richiesto da un server di produzione.

Nella configurazione standard possono esistere, a seconda della piattaforma e del pacchetto:

  • account database senza password;
  • servizi raggiungibili dalla rete;
  • componenti configurati per comodità di sviluppo;
  • strumenti amministrativi locali;
  • impostazioni che non vorresti esporre su Internet.

Puoi leggere il warning direttamente nella FAQ ufficiale XAMPP.

Questo non significa che XAMPP sia un software “insicuro” da evitare. Significa che il suo threat model è quello dello sviluppo locale.

Il problema nasce quando un ambiente pensato per restare sul computer viene esposto pubblicamente come se fosse un server configurato e mantenuto per la produzione.

Non esporre phpMyAdmin senza motivo

phpMyAdmin è uno strumento amministrativo potente.

In un’installazione locale dovrebbe generalmente rimanere accessibile soltanto dalla macchina su cui stai lavorando.

Apache Friends avverte esplicitamente che permetterne l’accesso esterno aumenta il rischio.

Per sviluppare un sito WordPress sul tuo computer non hai bisogno di rendere:

http://localhost/phpmyadmin/

raggiungibile da Internet.

Se devi collaborare con altre persone, è normalmente più sensato scegliere un ambiente di staging protetto o un workflow di sviluppo condiviso, anziché trasformare il computer personale in un server pubblico.

Locale, staging e produzione hanno ruoli diversi

Una configurazione professionale può prevedere tutti e tre:

Locale

Serve per sviluppo rapido, codice, test isolati e debug.

Staging

Serve per verificare il progetto in un ambiente vicino al server reale e per eseguire test prima della pubblicazione.

Produzione

È l’ambiente utilizzato dagli utenti reali e richiede sicurezza, backup, monitoraggio, prestazioni e procedure di aggiornamento appropriate.

Pensare a questi ambienti come fasi differenti dello stesso workflow è più utile che cercare di trasformare XAMPP in qualcosa per cui non è stato progettato.

Quando il progetto locale è pronto per diventare pubblico, il passaggio successivo è quindi migrare file e database verso l’hosting, aggiornare gli URL quando necessario e verificare la configurazione sul server reale.

Se il sito deve sostituire una proprietà esistente, la migrazione richiede anche attenzione a URL, redirect e segnali SEO: ne parliamo nella guida su come migrare un sito WordPress senza perdere posizioni.

Conclusione

XAMPP resta uno dei modi più trasparenti per creare un server locale e capire come funziona davvero uno stack PHP.

Se vuoi imparare WordPress, sviluppare temi e plugin, provare codice o amministrare manualmente database e server, è ancora una scelta valida: installi Apache, MariaDB e PHP, crei il progetto in htdocs, prepari il database con phpMyAdmin e avvii WordPress attraverso localhost.

Il limite emerge quando pretendi che quel laboratorio locale replichi automaticamente il server pubblico.

Le versioni dei componenti, la configurazione Apache, PHP, il database, HTTPS, cache e altri servizi possono essere diversi. Per questo il criterio non dovrebbe essere “XAMPP funziona?”, ma “questo ambiente riproduce abbastanza bene ciò che devo testare?”.

Per sviluppo generale e apprendimento, spesso la risposta è sì. Per validare una modifica critica destinata a un sito cliente, userei invece XAMPP per il primo ciclo di sviluppo e uno staging vicino alla produzione per la verifica finale.

E se il problema non riguarda più l’ambiente locale ma un sito WordPress già online, ha più senso intervenire direttamente sullo stack reale o affidarsi a un servizio di assistenza WordPress che possa diagnosticare server, database, plugin e configurazione nel loro contesto effettivo.