Qui su Wptuts + abbiamo trattato una serie di diversi flussi di lavoro che le persone utilizzano durante lo sviluppo di WordPress. WAMP su Windows, MAMP su Mac o XAMPP per entrambi. Oggi spiegheremo alcuni dei problemi con questi metodi e mostreremo un nuovo approccio.
La maggior parte dei siti Web live viene eseguita su un server Web remoto a cui è possibile accedere tramite un piano di hosting. Ma tu non vuoi essere sviluppato su una macchina remota. È molto più facile, e più sicuro, sviluppare su una macchina locale a cui si ha accesso diretto e quindi distribuire il codice sul server remoto.
La maggior parte dei server Web remoti esegue un sistema operativo specifico per i server. Potrebbe trattarsi di una variante di Linux, come CentOS, potrebbe essere Microsoft Windows Server o anche OS X Server di Apple. Eseguiranno anche software per server web, come Apache, Nginx o IIS, e software per database server come MySQL, PostgreSQL o Microsoft SQL. Poi ci sono varie altre cose che possono o non possono avere, come interpreti PHP, Python o Ruby, e una pletora di altre cose.
La stragrande maggioranza di queste cose non è il tipo di software che troverai sul tuo laptop o computer desktop medio. Il già citato WAMP, MAMP o XAMPP aiutano ad ottenere Apache, MySQL e PHP necessari per lo sviluppo di WordPress installati lì, ma poi ci sono i vari altri bit e pezzi non necessariamente disponibili, per non parlare del sistema operativo stesso (eseguendo un server operativo il sistema non è pratico).
Ma idealmente, vuoi essere sviluppato in un ambiente che è il più vicino a quello del server web su cui devi schierare. Ha senso. Sai cosa è / non è disponibile e sai che tutto dovrebbe "funzionare".
Quindi, come si ottiene il proprio ambiente di sviluppo (macchina locale) come l'ambiente di produzione (macchina remota)?
Ora puoi sempre uscire e acquistare un altro computer che puoi collegare alla rete, installare Linux, Apache, MySQL e PHP e utilizzarlo come ambiente di sviluppo. Ma poi, questo costa denaro, e cosa succede se hai bisogno di fare dello sviluppo da una posizione diversa? Il piano si è sbrogliato.
Fortunatamente, ci sono alcuni geni là fuori che hanno creato un software in grado di emulare un computer. È quindi possibile installare un sistema operativo e un software su questa "macchina virtuale" e persino collegarlo alla rete.
Mente. Blown.
Uno di questi software è VirtualBox, ce ne sono altri come VMWare e Parallels.
In questo modo è possibile avere una macchina virtuale che esegue esattamente lo stesso software della macchina remota alla quale si distribuirà. Mentre è in esecuzione, utilizzerà le risorse del computer portatile o desktop, ad esempio alimentazione della CPU, RAM e spazio sul disco rigido, ecc. Tuttavia, i siti Web utilizzano in genere molto meno risorse dei laptop e desktop moderni disponibili, quindi non è un problema.
Ora cosa succede se si dispone di più macchine remote che si distribuiscono su vari client o progetti e hanno impostazioni diverse? Fortunatamente, puoi avere praticamente tutte le macchine virtuali che vuoi! Uno per ogni progetto, se necessario.
Ovviamente, avere molte macchine virtuali sul tuo laptop o desktop sta per iniziare a prendere il suo pedaggio. Dovrai passare e installare il software richiesto su ognuno come lo hai impostato, e occuperanno tutto lo spazio su disco rigido, quindi dopo un po 'potresti trovarlo un po' ingombrante. Puoi sempre eliminare le macchine virtuali una volta finito con un progetto, ma se il progetto riprende il backup o il client torna indietro per più lavoro, devi ricominciare la procedura di impostazione di tutto.
Forse c'è un modo per gestirlo meglio?
Inserisci Vagrant. Vagrant è un software che consente, nelle loro parole, "Creare e configurare ambienti di sviluppo leggeri, riproducibili e portatili".
Sembra buono, giusto?
Ciò che Vagrant fa è gestire le macchine virtuali per te. Viene fornito con il supporto per VirtualBox integrato e puoi anche aggiungere il supporto per VMWare.
Tutto quello che devi fare è creare un file di configurazione di Vagrant nel tuo progetto, e questo dirà a Vagrant quale macchina virtuale di base usare (quale sistema operativo, ecc.), Quale software installare, e allora Vagrant lo creerà per te! Se finisci il progetto, puoi eliminare la macchina, ma se ne hai bisogno, Vagrant la ricreterà per te con lo stesso software.
Quindi spero di averti almeno parzialmente convinto dell'idea di utilizzare una macchina virtuale per il tuo ambiente di sviluppo e di usare Vagrant per renderlo più snello. Ma non c'è ancora stato alcun accenno allo sviluppo di WordPress ...
Buon punto! Ma lo salverò per la seconda parte. Abbiamo spiegato le motivazioni alla base del "perché", e la prossima volta ti porterò a prendere effettivamente tutto questo setup, e sono sicuro che sarai venduto completamente!