Puoi scaricare tutti i file di vagrant con il comando:
git clone --recursive https://asosso@bitbucket.org/asosso/vagrant-web.git
Per aggiornare i submoduli collegati:
git pull origin master
git submodule init
git submodule update
Se vuoi forzare l'aggiornamento di ciascun submodulo, anche se non è tracciato nel repository principale:
git submodule foreach git pull origin master
Installare vagrant hostmaster con il comando
vagrant gem install vagrant-hostmaster
Sostituire il file Vagrantfile con Vagrantfile.LinuxHost
Modificare il file /etc/hosts ad esempio con
sudo nano /etc/hosts
e inserire il seguente virtualhost:
33.33.33.10 pma.dev
Aggiungere alla file: C:\Windows\System32\Driver\etc\hosts
33.33.33.10 pma.dev
Copiare la configurazione di default di vagrant con il comando:
cp Vagrantfile.default Vagrantfile
Controlla di avere virtualbox e lanciare vagrant con il comando:
vagrant up
Questo comando esegue molte operazioni:
- Scarica il sistema operativo
- Installa il sistema operativo su una macchina virtualbox
- Avvia la macchina virtuale
- Provisioning dell'ambiente tramite puppet
Per avviare la macchina virtuale senza il provisioning di puppet usare il comando
vagrant up --no-provision
La condivisione delle cartelle nativa di VirtualBox è decisamente lenta rispetto al Network File System (NFS)
Una volta che nfs-utils è stato installato nella macchina guest è possibile abilitare l'NFS nel vagrantfile:
Commentando
# config.vm.share_folder("v-data", "/home/vagrant/data", "data", :nfs => false)
Decommentando
config.vm.share_folder("v-data", "/home/vagrant/data", "data", :nfs => true, :extra => 'dmode=777,fmode=777')
Per semplicità si può sostituire Vagrantfile con VagrantFile.LinuxHostNFS
Se non è ancora stato installato nfs-utils al primo boot con vagrant up viene visualizzato un messaggio d'errore sul mounting NFS. A questo punto è necessario far eseguire comunque puppet e riaviare la macchina:
vagrant provision
vagrant reload