2014-10-11 14 views
8

Sto cercando di imparare come utilizzare Vagrant con l'idea di creare un ambiente di sviluppo che dovrebbe essere esattamente (se possibile) su un server di produzione già esistente.Configurare la casella Vagrant esattamente come server di produzione

La domanda qui è: qual è il modo più semplice per farlo?

Sono uno sviluppatore e ho pieno accesso al server di produzione, ma non è gestito da me. Conosco un po 'il mio modo per impostare il sito Web, lavorare con cPanel, alcuni WHM, ecc ...

Il server esegue CentOS 6.5 con Apache, MySQL e PHP.

Esiste un modo per "esportare" la configurazione di quel server con tutte le applicazioni che ha, moduli, versioni, ecc ... e usarlo per creare un Vagrant Box? O si tratta di analizzare manualmente tutto e scriverlo?

Se la strada da percorrere è la seconda opzione, posso avere qualche consiglio su come farlo senza mancare nulla?

risposta

1

Non credo ci sia un modo diretto per esportare una configurazione server esistente in una scatola Vagrant, che essenzialmente, richiede di clonare il server in un formato VM supportato da uno dei Vagrant di providers (ad esempio un file OVA per Virtualbox).

AFAIK, potrebbe essere necessario farlo manualmente, sfortunatamente. Il modo in cui andrò a questo proposito (almeno a livello di applicazione) è:

  1. Riutilizzo uno dei predefinita CentOS 6.5 LAMP boxes nella Vagrant Cloud per evitare di reinstallare tutto il software da zero.
  2. Installare Virtualbox se non lo si è già fatto, poiché è il provider predefinito di Vagrant.
  3. Crea una copia del tuo apache di produzione conf/httpd.conf, conf/extra e modules (penso che questi siano i maggiori) e importali nel server Apache nella tua casella di Vagrant.
  4. Prendi un dump del tuo database MySQL di produzione usando mysqldump. Quindi importa lo schema e i dati nel database MySQL nella tua casella di Vagrant. Utilizzare l'opzione --no-data per escludere l'esportazione dei dati se il database di produzione è troppo grande per le esigenze di sviluppo. (La tabella 4.9 su quel collegamento che ho condiviso fornisce un elenco completo di opzioni.)
  5. Ridistribuire l'applicazione PHP.
  6. Una volta soddisfatti di tutte le modifiche apportate alla casella di Vagrant, utilizzare Virtualbox per clonare la nuova VM come base di riferimento.

Come accennato, si tratta solo di impostazioni e configurazioni a livello dell'applicazione. Probabilmente ci sono altre configurazioni nel tuo server di produzione relative a firewall, chiavi SSH, permessi utente ecc. Che potresti dover duplicare o meno nel tuo ambiente di sviluppo.

Spero che questo aiuti.

+0

Grazie molto per la risposta. Ho alcune domande su alcuni punti: 5. Quale sarebbe questo passo e come lo realizzo esattamente? 6. Non sono sicuro di cosa intendi con 'usare Virtualbox per clonare la nuova VM come linea di base '. Quale sarebbe la base per questo? – Albert

+0

# 5 si riferisce a qualsiasi applicazione che è necessario distribuire a 'apache httpd'. Ci sono alcune semplici istruzioni [qui] (http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-fedora-18-lamp) al punto 5. Per quanto riguarda il # 6, una volta avviato il box di Vagrant, puoi vederne l'istanza in Virtualbox. Quindi puoi creare istantanee della tua scatola seguendo queste [istruzioni] (http://www.virtualbox.org/manual/ch01.html#snapshots). –

+0

grazie! Quindi, per la configurazione di PHP, supponendo che siano installati gli stessi moduli, potrei semplicemente copiare il file PHP.ini? – Albert

0

È possibile creare una casella vagabonda di quella VM e quindi distribuire quella casella con init vagabondo. L'articolo che segue spiega come farlo per virtualbox VM. Questo articolo crea anche la VM, nel tuo caso vm è già lì.

Create your own vagrant box

Se si utilizza qualcosa di diverso da VirtualBox (VMware, KVM, ecc). hai bisogno di capire come farlo per il tuo provider.

Problemi correlati