Sviluppo WordPress · 11 min read · Dec 07, 2025

Imposta un Ambiente di Sviluppo WordPress Locale con Vagrant

Se sviluppi con WordPress, è preferibile impostare un ambiente locale dove hai installato un server, uno strumento per database e alcuni siti WordPress insieme ad altri strumenti di cui hai bisogno. Questo va bene se lavori solo su pochi progetti. Ma quando si moltiplicano, si presentano problemi. E anche il mal di testa di mantenere più ambienti, perché il cliente ha una configurazione diversa dalla tua.

Per aggirare questo problema, possiamo usare quello che chiamiamo Vagrant. Vagrant è uno strumento per lavorare con ambienti virtuali. Fornisce un modo semplice per impostare un ambiente di sviluppo locale con pochi comandi, e puoi replicare una configurazione completa quante volte vuoi, con facilità e senza il fastidio di installare tutto manualmente. Per eseguire Vagrant, devi definire un insieme di regole. Vagrant imposta la tua macchina virtuale in base a queste regole. Vagrant ha bisogno di due file per questo: Vagrantfile, che dice a Vagrant che tipo di hardware ha bisogno la macchina virtuale, e un file di distribuzione, che dice a Vagrant cosa fare sulla macchina virtuale.

Poiché Vagrant lavora con ambienti virtuali, hai bisogno di un software per macchine virtuali per eseguire Vagrant. Per i nostri scopi, utilizzeremo l’Open Source Virtualbox.

Installazione di VirtualBox

Vai alla pagina di download di Virtualbox e scarica un file binario corrispondente al tuo sistema operativo ospite. (Il sistema operativo ospite è il sistema operativo da cui eseguirai il tuo ambiente di sviluppo.) Installa Virtualbox.

Installazione di Vagrant

Scarica il binario corrispondente al tuo sistema operativo dalla pagina di download di Vagrant e installalo.

Per testare se è stato installato correttamente, digita il seguente comando nella riga di comando del tuo sistema operativo.

$ vagrant -v

Installazione del Plugin Vagrant Hosts Updater

Il plugin vagrant-hostupdater modificherà il file hosts del tuo sistema operativo in modo che i domini impostati da Vagrant funzionino. Per installarlo, esegui il seguente comando

$ vagrant plugin install vagrant-hostsupdater

Riavvia il tuo sistema operativo dopo aver installato Vagrant/Virtualbox in modo che non ci siano problemi di rete.

Installazione di Git

Linux

Avremo anche bisogno del controllo di versione Git per questo tutorial. Se non lo hai installato, installalo utilizzando il seguente comando se hai una distribuzione Debian/Ubuntu

$ sudo apt install git

oppure se hai Fedora

$ sudo dnf install git

oppure se hai CentOS/RHEL

$ sudo yum install git

Controlla la versione di Git installata tramite il seguente comando

$ git --version

Vedrai qualcosa come

$ git version 2.20.1

Devi configurare Git tramite i seguenti comandi.

$ git config --global user.name "Il Tuo Nome"   
$ git config --global user.email "[email protected]"

Windows

Per installare Git su Windows, vai alla pagina di download di Git e installa il binario.

Mac OS

Se hai homebrew installato, puoi installare Git tramite il seguente comando.

$ brew install git

oppure puoi scaricare un pacchetto binario dalla pagina di download di Git e installarlo.

Installa Varying Vagrant Vagrants

Invece di creare una configurazione Vagrant da zero, utilizzeremo Varying Vagrants Vagrant (VVV) - una configurazione Vagrant open source mirata specificamente alla creazione di Ambienti di Sviluppo WordPress. Un VVV standard imposterà la tua macchina virtuale basata su Ubuntu 18.04 insieme a un server Nginx, database MariaDB, PHP, WP-CLI, Node.js, MailHog, Composer, memcached, phpMyAdmin, git e vari altri strumenti. VVV ti darà più installazioni di WordPress per impostazione predefinita, una delle quali è l’ultima versione bleeding-edge per aiutarti a sperimentare.

Il primo passo è clonare il repository Git di VVV in una directory locale sul tuo sistema.

$ git clone -b master git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vvv

Qui stiamo clonando il branch master del repository sul sistema. Se desideri aggiornamenti più veloci, puoi utilizzare il branch develop.

Avvio di VVV

Cambia nella directory in cui hai clonato VVV.

$ cd vvv

Avvia l’ambiente Vagrant che installerà la macchina virtuale e imposterà tutto.

$ vagrant up

Questo processo può richiedere un po’ di tempo, quindi sii paziente. Potresti essere chiesto della tua password di root durante il processo, necessaria per impostare il file hosts del tuo sistema.

Nota per gli Utenti di Windows 8/10

Se sei su Windows, potresti ricevere il seguente errore

==> default: Booting VM...   
C'è stato un errore durante l'esecuzione di `VBoxManage`, una CLI utilizzata da Vagrant   
per controllare VirtualBox. Il comando e stderr sono mostrati di seguito.   
   
Comando: ["startvm", "1fe83aa1-2f23-4ddd-ad77-b7e7e00aabe6", "--type", "headless"]   
   
Stderr: VBoxManage.exe: errore: Impossibile aprire/creare la rete interna 'HostInterfaceNetworking-VirtualBox Host-Only   
Ethernet Adapter #3' (VERR_INTNET_FLT_IF_NOT_FOUND).   
VBoxManage.exe: errore: Impossibile allegare il LUN di rete (VERR_INTNET_FLT_IF_NOT_FOUND)   
VBoxManage.exe: errore: Dettagli: codice E_FAIL (0x80004005), componente ConsoleWrap, interfaccia IConsole

Nota l’Adapter qui menzionato:

VirtualBox Host-Only Ethernet Adapter #3

Apri Pannello di Controllo >> Centro connessioni di rete e condivisione. Ora fai clic su Modifica impostazioni adattatore. Fai clic con il tasto destro sull’adattatore il cui Nome o Nome Dispositivo corrisponde a VirtualBox Host-Only Ethernet Adapter # 3 e fai clic su Proprietà. Fai clic sul pulsante Configura.

Ora fai clic sulla scheda Driver. Fai clic su Aggiorna Driver. Seleziona Cerca il driver nel computer. Ora scegli Fammi scegliere da un elenco di driver disponibili nel computer. Seleziona la scelta che ottieni e fai clic su Avanti. Fai clic su Chiudi per terminare l’aggiornamento. Ora torna al tuo Terminale/Powershell/Finestra di comando e ripeti il comando vagrant up. Dovrebbe funzionare bene questa volta.

Una volta terminato, puoi visitare il tuo dashboard VVV all’url http://vvv.test.

VVV viene fornito con due installazioni di WordPress predefinite - http://one.wordpress.test e http://two.wordpress.test Entrambi i siti hanno gli stessi dettagli di accesso, admin come nome utente e password come password. Le credenziali del database per entrambi i siti sono wp come nome utente e password. Le credenziali dell’utente root di MySQL sono root sia come nome utente che come password. E le credenziali dell’utente root della VM sono root come nome utente e vagrant come password.

C’è un’installazione di WordPress per sviluppatori su http://trunk.wordpress.net ma non funzionerà poiché non è stata provisionata. Questa installazione è utile se sei un collaboratore di WordPress che lavora con ticket e patch di Trac. Per abilitarla, apri vvv-custom.yml e cambia il valore di skip_provisioning sotto wordpress-trunk in false e poi riprovisiona la VM utilizzando il comando

$ vagrant reload --provision

C’è un’altra installazione di WordPress senza url etichettata come wordpress-meta-environment. Questa installazione creerà un ambiente utile per i contributi al team meta di WordPress, ad esempio, WordCamps, .org, ecc. Per abilitare questa installazione, aggiungi la seguente riga sotto wordpress-meta-environment nel file vvv-custom.yml.

hosts:  
  - wpmeta.test

E poi cambia il valore di skip_provisioning in false e riprovisiona la VM.

$ vagrant reload --provision

Aggiungi un Nuovo Sito

Se desideri aggiungere un altro sito alla VM, dovrai modificare il file vvv-custom.yml che puoi trovare nella directory vvv. Se non è lì, copia semplicemente vvv-config.yml e crealo. Questo è un processo una tantum e non dovrai farlo di nuovo. Fai sempre le tue modifiche in vvv-custom.yml perché vvv-config.yml viene sovrascritto quando aggiorni VVV.

Aggiungi il seguente codice sotto la sezione siti a vvv-custom.yml per aggiungere un nuovo sito.

newsite:
    repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template
    description: "Un'installazione multisito WordPress in sottodirectory"  
    vm_dir: /srv/www/newsite  
    local_dir: /home/user/vvv/www/newsite  
    branch: master  
    nginx_upstream: php
    skip_provisioning: false
    hosts:
      - newsite.test
    custom:
      wp_type: subdirectory

Variabili

repo variable si riferisce a un repository Github predefinito che contiene informazioni su come impostare un nuovo sito WordPress sulla VM. Per ora, stiamo utilizzando un repo mantenuto da VVV.

description variable è autoesplicativa.

vm_dir è la directory effettiva all’interno della VM dove risiederà il tuo sito.

local_dir è la directory sulla tua macchina host dove vive il tuo sito.

branch variable dice a Vagrant di controllare il branch master del repo nell’esempio qui.

nginx_upstream viene utilizzato per impostare dove Nginx passa le richieste ed è solitamente utilizzato per cambiare la versione di PHP necessaria per la tua installazione. php qui si riferisce alla versione PHP predefinita che è 7.2. Puoi usare php71 per cambiarla in PHP 7.1 o php56 per cambiarla in PHP 5.6.

skip_provisioning è impostato su false, il che significa che dobbiamo includere questo sito nella VM.

hosts variable viene utilizzata per impostare l’url di cui avremo bisogno per accedere al sito.

custom section è utile se hai bisogno di un controllo aggiuntivo sul tuo sito WordPress. Puoi utilizzare questa sezione per impostare un’installazione multisito o installare una versione diversa di WordPress e persino cambiare il nome del database o del tuo sito che verrà utilizzato per la tua installazione.

wp_type variable decide se la tua installazione sarà singola, multisito con domini o multisito con sottodirectory. wp_type accetta quattro valori: single, subdomain, subdirectory e none. Con l’installazione subdomain, puoi definire più host per la tua installazione multisito nel seguente formato

hosts:
    - multisite.test
    - site1.multisite.test
    - site2.multisite.test
  custom:
    wp_type: subdomain

Puoi aggiungere un’altra variabile sotto la sezione custom che è wp_version. Puoi impostarla su nightly se desideri installare la versione Nightly di WordPress. Accetta tre valori: nightly, latest e un numero di versione.

custom: 
     wp_version: nightly

C’è un’altra variabile, db_name che ti consente di impostare il nome del database per la tua installazione.

custom:
    db_name: super_secet_db_name

E infine, site_title variable ti consente di impostare il Titolo del tuo sito WP.

custom:
    site_title: Il Mio Fantastico Sito di Sviluppo

Questo dovrebbe coprire tutte le variabili e opzioni di cui avresti bisogno per aggiungere il tuo sito web in VVV. Dopo aver modificato il file vvv-custom.yml, esegui semplicemente il seguente comando per far funzionare il tuo nuovo sito.

$ vagrant reload --provision

Aggiungi un Sito Esistente

Finora, abbiamo imparato come aggiungere un sito completamente nuovo a VVV. Ma cosa succede se stai già lavorando su un sito e vuoi aggiungerlo sotto VVV. Vediamo come possiamo fare.

Per aggiungere un sito esistente, il primo passo è lo stesso di prima, cioè modificare il file vvv-custom.yml e aggiungere il seguente codice.

howtoforge:
    repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template
    description: "Un sito WordPress"  
    vm_dir: /srv/www/newsite  
    local_dir: /home/user/vvv/www/newsite  
    hosts:
      - howtoforge.local

Questo dirà a VVV di impostare un nuovo sito accessibile tramite http://howtoforge.local Ma è un sito completamente nuovo. Ciò di cui abbiamo bisogno è convertirlo nella nostra installazione esistente. Per questo dobbiamo copiare i file dalla nostra installazione WordPress esistente nella directory locale, cioè /home/user/vvv/www/newsite

$ cp /var/www/howtoforge/ /home/user/vvv/www/newsite/

Ora dobbiamo copiare il database. Un modo semplice per farlo è esportare il tuo database esistente come file .sql, copiare quel file nella directory del nostro blog e importare di nuovo il database accedendo tramite SSH alla nostra VM.

Prima, accedi a mysql nella riga di comando del tuo sistema locale e usa il seguente comando per esportare il database.

$ cd /home/user/vvv/www/newsite
$ mysqldump -u username -p database_name > data-dump.sql

Ora possiamo riprovisionare la VM di nuovo.

$ vagrant reload --provision

Accedi alla tua VM tramite SSH.

$ vagrant ssh

Ora importa il database di nuovo nella tua VM.

$ cd /srv/www/newsite 
$ mysql -u root -p newsite < data-dump.sql

VVV ha già creato un nuovo database durante la provision per il nostro blog chiamato newsite. La password per l’utente root è root qui. Il comando sopra importerà il nostro database esistente nel nuovo.

Questo completa l’impostazione di un sito esistente in VVV.

Abilita SSL

Le installazioni localhost di solito non sono sicure. E installare il proprio certificato su localhost può essere un processo lungo e noioso, anche con Let’s Encrypt. Ma VVV rende questo processo abbastanza semplice e per impostazione predefinita ha SSL abilitato su tutte le tue installazioni di WordPress. Inizia semplicemente a usare https con i tuoi siti. Per la prima volta, il tuo browser si lamenterà di un certificato non valido, ma aggiungilo come eccezione e dovrebbe andare bene da ora in poi.

Aggiornamento di WordPress

Puoi aggiornare la tua installazione di WordPress dal tuo dashboard. Inoltre, VVV aggiornerà il tuo WordPress ogni volta che riprovisioni la VM. Puoi anche aggiornare WordPress manualmente scaricandolo da WordPress.org ed estraendo il file zip. E puoi anche usare WP CLI che è incluso in VVV. Per aggiornare il tuo sito con WP CLI, usa i seguenti comandi.

$ cd /srv/www/newsite
$ wp core update

Aggiornamento di VVV

Il primo passo è fermare la macchina Vagrant.

$ vagrant halt

Ora assicurati che il tuo vagrant e Virtualbox siano aggiornati. Se non lo sono, scaricali di nuovo e installali.

Esegui il seguente comando per aggiornare la tua box Vagrant. È facoltativo, ma è meglio procedere.

$ vagrant box update

Ora, estrai l’ultima versione di VVV da Github.

$ git pull

Riprovisiona di nuovo la box per completare l’aggiornamento.

$ vagrant up --provision

Strumenti Aggiuntivi

VVV viene fornito con vari strumenti che puoi installare. Li troverai elencati nella sezione utilità nel tuo file vvv-custom.yml. Per impostazione predefinita, tls-ca e phpmyadmin sono abilitati. Puoi ulteriormente installare memcached, opcache, webgrind, mongodb, tideways e versioni di php da 5.6 a 7.3 rimuovendo il # davanti a loro nella sezione utilità.

Puoi persino aggiungere il tuo software che desideri installare. Dovresti modificare il file vvv-custom.yml con qualcosa del genere

utilities:
  core:
    - tls-ca  
    - phpmyadmin
  java:
    - java7
utility-sources:
  java:
    repo: https://github.com/example/java-utilities.git
    branch: master

Aggiungerai una nuova sezione, java qui, ad esempio. Il codice per l’installazione proviene da un repository git. Il tuo repository git dovrebbe essere strutturato in questo modo

java7/
    provision.sh

Il file provision.sh conterrà il codice necessario per installare java nella tua VM. Il nome della cartella dovrebbe corrispondere al nome che hai usato sopra nel file vvv-custom.yml.

Conclusione

Questo conclude il nostro tutorial su come impostare un ambiente di sviluppo WordPress locale con Vagrant. Facci sapere se hai domande.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.