- Start with any local operating system such as Mac OS X, Linux, or Windows.
- For Windows 8 or higher it is recommended that you run the cmd window as Administrator
- Install VirtualBox 5.x
- Install Vagrant 1.x
vagrant
will now be available as a command in your terminal, try it out.- Note: If Vagrant is already installed, use
vagrant -v
to check the version. You may want to consider upgrading if a much older version is in use.
- Install some these Vagrant plugins:
- Install the vagrant-hostsupdater plugin with
vagrant plugin install vagrant-hostsupdater
- Note: This step is not a requirement, though it does make the process of starting up a virtual machine nicer by automating the entries needed in your local machine’s
hosts
file to access the provisioned VVV domains in your browser. - If you choose not to install this plugin, a manual entry should be added to your local
hosts
file that looks like this:192.168.50.4 vvv.dev local.wordpress.dev src.wordpress-develop.dev build.wordpress-develop.dev
- Note: This step is not a requirement, though it does make the process of starting up a virtual machine nicer by automating the entries needed in your local machine’s
- Install the vagrant-triggers plugin with
vagrant plugin install vagrant-triggers
- Note: This step is not a requirement. When installed, it allows for various scripts to fire when issuing commands such as
vagrant halt
andvagrant destroy
. - By default, if vagrant-triggers is installed, a
db_backup
script will run on halt, suspend, and destroy that backs up each database to adbname.sql
file in the{vvv}/database/backups/
directory. These will then be imported automatically if starting from scratch. Custom scripts can be added to override this default behavior. - If vagrant-triggers is not installed, VVV will not provide automated database backups.
- Note: This step is not a requirement. When installed, it allows for various scripts to fire when issuing commands such as
- Install the vagrant-vbguest plugin with
vagrant plugin install vagrant-vbguest
.- Note: This step is not a requirement. When installed, it keeps the VirtualBox Guest Additions kernel modules of your guest synchronized with the version of your host whenever you do
vagrant up
. This can prevent some subtle shared folder errors.
- Note: This step is not a requirement. When installed, it keeps the VirtualBox Guest Additions kernel modules of your guest synchronized with the version of your host whenever you do
- Install the vagrant-hostsupdater plugin with
- Clone or extract the Varying Vagrant Vagrants project into a local directory
git clone -b master git://github.com/Varying-Vagrant-Vagrants/VVV.git vagrant-local
- OR download and extract the repository
develop
branch zip file to avagrant-local
directory on your computer. - OR download and extract a stable release zip file if you’d like some extra comfort.
- In a command prompt, change into the new directory with
cd vagrant-local
- Start the Vagrant environment with
vagrant up
- Be patient as the magic happens. This could take a while on the first run as your local machine downloads the required files.
- Watch as the script ends, as an administrator or
su
password may be required to properly modify the hosts file on your local machine.
- Visit any of the built in WordPress sites or the VVV Dashboard at http://vvv.dev
Fancy, yeah?
What Did That Do?
The first time you run vagrant up
, a packaged box containing a basic virtual machine is downloaded to your local machine and cached for future use. The file used by Varying Vagrant Vagrants contains an installation of Ubuntu 14.04 and is about 332MB.
After this box is downloaded, it begins to boot as a sandboxed virtual machine using VirtualBox. Once booted, it runs the provisioning script included with VVV. This initiates the download and installation of around 100MB of packages on the new virtual machine.
The time for all of this to happen depends a lot on the speed of your Internet connection. If you are on a fast cable connection, it will likely only take several minutes.
On future runs of vagrant up
, the packaged box will be cached on your local machine and Vagrant will only need to apply the requested provisioning.
- Preferred: If the virtual machine has been powered off with
vagrant halt
,vagrant up
will quickly power on the machine without provisioning. - Rare: If you would like to reapply the provisioning scripts with
vagrant up --provision
orvagrant provision
, some time will be taken to check for updates and packages that have not been installed. - Very Rare: If the virtual machine has been destroyed with
vagrant destroy
, it will need to download the full 100MB of package data on the nextvagrant up
.
Now What?
Now that you’re up and running, start poking around and modifying things.
- Access the server via the command line with
vagrant ssh
from yourvagrant-local
directory. You can do almost anything you would do with a standard Ubuntu installation on a full server. - Power off the box with
vagrant halt
and turn it back on withvagrant up
. - Suspend the box’s state in memory with
vagrant suspend
and bring it right back withvagrant resume
. - Reapply provisioning to a running box with
vagrant provision
. - Destroy the box with
vagrant destroy
. Files added in thewww
directory will persist on the nextvagrant up
. - Start modifying and adding local files to fit your needs. Take a look at Adding a Site for tips on adding new projects.