- Sagar Acharya
Agenda
☞ Understanding of Vagrant
☞ Why should we use Vagrant?
☞ How to Install Vagrant
☞ Clone vagrant Box
☞ File sharing between host & guest OS
☞ Rsync-auto command
☞ References
Understanding of Vagrant
☞ A CLI-based tool for streaming the use of VM environments.
☞ It is tool for Dev, Production and Test environment.
☞ It is virtual machine so changes done in it, doesn't actually reflected to host
machine.
Why should we use Vagrant ?
☞ Quick
☞ Easily replicate production on a Dev Box.
☞ Easily go production from Dev Box.
☞ Mature, stable and proven.
☞ Sharing VM environments with other users.
☞ Multi-platform (Windows, Linux, OS X).
☞ CLI (no GUI).
☞ No need to setup environmental things again and again.
☞ Lightweight as compared to GUT based VM.
Step 1: Install Vagrant
☞ Before installing Vagrant, make sure you have VM installed on your machine
(Virtual Box, VM Ware).
☞ Go to this URL: https://www.vagrantup.com/downloads.html
☞ And download & install vagrant version according to your OS.
Step 2: Vagrant Setup
☞ Then go to this this URL: http://www.vagrantcloud.com and downoload box as
per your requirement.
☞ For now i’m using ubuntu/trusty64 box.
☞ After that follow steps as shown below. (For Linux/Mac OS)
$ sudo mkdir vagrant_getting_started
$ cd vagrant_getting_started
$ vagrant init ubuntu/trusty64; vagrant up --provider virtualbox
Step 3: Vagrant Up
$ sudo vagrant up
Step 4: Vagrant ssh
$ sudo vagrant ssh
Success
More Commands
☞ status : status of the machine
☞ halt : stop machine
☞ suspend : suspend machine
☞ reload : restart machine (load new vagrantfile)
☞ resume : resume suspended machine
☞ provision : force provisioning machine
☞ destroy : stop and delete machine
Clone Vagrant Box
☞ This command will take some time and it will generate a file called package.box
in the vagrant project folder. Make sure your vagrant machine is up.
☞ You need to copy the package.box file to a different location, may be to a
different machine. It is a good idea to rename
$ sudo vagrant package
Clone Vagrant Box : Initial Setup to Install
☞ You need to copy the package.box file to a different location, may be to a
different machine. It is a good idea to rename. I’m renaming it to hvvm.box
$ sudo vagrant init
☞ Now to install the cloned .box file, you can create a new folder on your
machine or another machine and initiate it.
Install Cloned Vagrant Box
☞ sudo vagrant init. This command will generate a Vagrantfile in your
project folder.
☞ Open the Vagrantfile in your favorite editor and add the following lines in it.
1. config.vm.box = "hvvm"
2. config.vm.box_url = "/Users/my/Vagrant/temp1/hvvm.box"
Install Cloned Vagrant Box (contd..)
☞ It is important that the box name "hvvm" should not be used earlier by
another vagrant based virtual machines.
☞ Once the location of the box is specified simply do Vagrant up and your
would have a cloned or duplicate virtual machine.
$ sudo vagrant up
File sharing from host machine to guest machine
☞ Sometimes you will need to share files from host machine to guest
machine or vice versa.
☞ So to do that open your Vagrantfile in any editor and add below lines in it.
☞ So above lines contains rsync command which will sync lamp/sharedata
folder (Host Machine) to html/sharedata (guest Machine)
☞ To make your changes reflected in both OS you will need to execute
vagrant reload command.
Automatically reflect your changes
$ sudo vagrant rsync-auto
References
☞ https://docs.vagrantup.com/v2/synced-folders/rsync.html
☞ https://laracasts.com/discuss/channels/tips/speed-up-vagrant-file-syncing-using-rsync
☞ https://www.vagrantcloud.com
☞ http://www.vagrantup.com
☞ http://code.tutsplus.com/tutorials/vagrant-what-why-and-how--net-26500
Vagrant step-by-step guide for Beginners
Vagrant step-by-step guide for Beginners

Vagrant step-by-step guide for Beginners

  • 1.
  • 2.
    Agenda ☞ Understanding ofVagrant ☞ Why should we use Vagrant? ☞ How to Install Vagrant ☞ Clone vagrant Box ☞ File sharing between host & guest OS ☞ Rsync-auto command ☞ References
  • 3.
    Understanding of Vagrant ☞A CLI-based tool for streaming the use of VM environments. ☞ It is tool for Dev, Production and Test environment. ☞ It is virtual machine so changes done in it, doesn't actually reflected to host machine.
  • 4.
    Why should weuse Vagrant ? ☞ Quick ☞ Easily replicate production on a Dev Box. ☞ Easily go production from Dev Box. ☞ Mature, stable and proven. ☞ Sharing VM environments with other users. ☞ Multi-platform (Windows, Linux, OS X). ☞ CLI (no GUI). ☞ No need to setup environmental things again and again. ☞ Lightweight as compared to GUT based VM.
  • 5.
    Step 1: InstallVagrant ☞ Before installing Vagrant, make sure you have VM installed on your machine (Virtual Box, VM Ware). ☞ Go to this URL: https://www.vagrantup.com/downloads.html ☞ And download & install vagrant version according to your OS.
  • 6.
    Step 2: VagrantSetup ☞ Then go to this this URL: http://www.vagrantcloud.com and downoload box as per your requirement. ☞ For now i’m using ubuntu/trusty64 box. ☞ After that follow steps as shown below. (For Linux/Mac OS) $ sudo mkdir vagrant_getting_started $ cd vagrant_getting_started $ vagrant init ubuntu/trusty64; vagrant up --provider virtualbox
  • 7.
    Step 3: VagrantUp $ sudo vagrant up Step 4: Vagrant ssh $ sudo vagrant ssh
  • 8.
  • 9.
    More Commands ☞ status: status of the machine ☞ halt : stop machine ☞ suspend : suspend machine ☞ reload : restart machine (load new vagrantfile) ☞ resume : resume suspended machine ☞ provision : force provisioning machine ☞ destroy : stop and delete machine
  • 10.
    Clone Vagrant Box ☞This command will take some time and it will generate a file called package.box in the vagrant project folder. Make sure your vagrant machine is up. ☞ You need to copy the package.box file to a different location, may be to a different machine. It is a good idea to rename $ sudo vagrant package
  • 11.
    Clone Vagrant Box: Initial Setup to Install ☞ You need to copy the package.box file to a different location, may be to a different machine. It is a good idea to rename. I’m renaming it to hvvm.box $ sudo vagrant init ☞ Now to install the cloned .box file, you can create a new folder on your machine or another machine and initiate it.
  • 12.
    Install Cloned VagrantBox ☞ sudo vagrant init. This command will generate a Vagrantfile in your project folder. ☞ Open the Vagrantfile in your favorite editor and add the following lines in it. 1. config.vm.box = "hvvm" 2. config.vm.box_url = "/Users/my/Vagrant/temp1/hvvm.box"
  • 13.
    Install Cloned VagrantBox (contd..) ☞ It is important that the box name "hvvm" should not be used earlier by another vagrant based virtual machines. ☞ Once the location of the box is specified simply do Vagrant up and your would have a cloned or duplicate virtual machine. $ sudo vagrant up
  • 14.
    File sharing fromhost machine to guest machine ☞ Sometimes you will need to share files from host machine to guest machine or vice versa. ☞ So to do that open your Vagrantfile in any editor and add below lines in it. ☞ So above lines contains rsync command which will sync lamp/sharedata folder (Host Machine) to html/sharedata (guest Machine) ☞ To make your changes reflected in both OS you will need to execute vagrant reload command.
  • 15.
    Automatically reflect yourchanges $ sudo vagrant rsync-auto
  • 16.
    References ☞ https://docs.vagrantup.com/v2/synced-folders/rsync.html ☞ https://laracasts.com/discuss/channels/tips/speed-up-vagrant-file-syncing-using-rsync ☞https://www.vagrantcloud.com ☞ http://www.vagrantup.com ☞ http://code.tutsplus.com/tutorials/vagrant-what-why-and-how--net-26500