Installing VVV – Make WordPress Core
Skip to content
Make WordPress Core
Installing VVV
Handbook
Tutorials & Guides
Installing WordPress Locally
Installing VVV
Installing VVV
In this article
Overview
Running a Contributor Day
Installing VVV
1. Downloading VirtualBox
2. Downloading Vagrant
3. Grabbing VVV
4. Start up VVV
5. Enabling Trunk and The Meta Environment
6. Create a GitHub Repo (optional)
↑ Back to top
Overview
Varying Vagrant Vagrants is an
open source
Open Source
Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL.
Vagrant
configuration focused on
WordPress
development. VVV is
MIT Licensed
VVV is ideal for developing themes and plugins as well as for
contributing to WordPress core
This article will walk you through the steps to install VVV on your Mac, PC, or Linux computer.
For the official VVV instructions,
visit the official VVV documentation here
Running a Contributor Day
If you’re running a
contributor day
Contributor Day
Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of
There are many teams that people can participate in, each with a different focus.
for a
WordCamp
WordCamp
WordCamps are casual, locally-organized conferences covering everything related to WordPress. They’re one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy.
, you should use the contributor day set up script. Setting up a local environment over conference Wifi can cause problems for all, so the script generates a pre-built version.
This pre-built version comes with instructions and a full environment needed for contributor day. These then get copied on to USB drives and handed out at the beginning on contributor day. The entire process can be performed offline using only the contents of the USB drive.
Click here for information about the VVV contributor day USB drive generator
Installing VVV
VVV requires recent versions of both
Vagrant
and
VirtualBox
(or similar) to be installed.
Vagrant is a “tool for building and distributing development environments”. It works with
virtualization
software such as VirtualBox to provide a virtual machine sandboxed from your local environment.
1. Downloading VirtualBox
Navigate to the
Downloads
page on the VirtualBox site. Just like with Vagrant, there are several different download packages available depending on your operating system. Choose the one that’s right for you.
Depending on your operating system, the installer package will vary in size, so it may take a few minutes to download. Once the download is completed, run the installer.
2. Downloading Vagrant
Navigate to the
Downloads
page on the Vagrant site. There are a variety of download packages available depending on your operating system, whether that is Mac OS X or Windows. If you’re running Linux, packages are available for 32- and 64-bit Debian and CentOS distributions. Choose the one that’s right for you to download
Depending on your operating system, the installer package will vary in size, so it may take a few minutes to download. Once the download is completed, run the installer.
3. Grabbing VVV
The official
official instructions for installing VVV are here
4. Start up VVV
In a command prompt, change to the directory VVV is installed to. You can sometimes drag and drop the folder on to the terminal as a fast way to type the path of the directory.
If you are on Windows this must be a ran with elevated administrator privileges
Start the VVV environment with
vagrant up --provision
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.
Do not use
sudo
with the
vagrant
command.
Once the provisioning script has run its course, visit the VVV dashboard at
in your browser. You should see a listing of all the sites VVV created, as well as links to other administration-related tools:
A standard WP install, useful for building plugins, testing things, etc.
A second standard WP install, useful for building plugins, testing things, etc.
5. Enabling Trunk and The Meta Environment
There are also 2 environments that are disabled by default:
An svn-based WordPress
Core
Core
Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
trunk
trunk
A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running “trunk”, then you are on the latest revision.
dev setup, useful for contributor days,
Trac
Trac
An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.
tickets, patches, general core contributing, etc.
A collection of sites for contributing to
WordPress.org
WordPress.org
The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization.
and WordCamps
To enable these, open
vvv-custom.yml
, find
skip_provisioning: true
for the desired site, and change
true
to
false
. Save the file and reprovision to apply changes using
vagrant reload --provision
. This will take some time to run.
You can also setup additional sites,
to learn how to do that click here
6. Create a GitHub Repo (optional)
Pull requests on
GitHub
GitHub
GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner.
provide a convenient way to receive feedback and also to share the
patch
patch
A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a
diff
. A patch can be
applied
to a codebase for testing.
for your contributions. You can add “
.diff
” to any pull request
URL
URL
A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org
and GitHub will return a diff file which you can then attach to a Trac
ticket
ticket
Created for both bug reports and feature development on the bug tracker.
. You can also just add a link to the pull request in a Trac ticket comment. There is currently no
Git
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system.
repo clone for
develop.git.wordpress.org
located on GitHub, so you have to set this up yourself:
Have VVV set up (above).
Swap out your
SVN
SVN
Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase.
repo with a Git one in VVV via:
vagrant ssh -c /srv/www/wordpress-trunk/bin/develop_git
Create
an empty “wordpress-develop” on GitHub (you can name this however you like).
Run these commands to set this new repo as your origin remote:
cd ...vvv/www/wordpress-trunk/public_html && git remote set-url origin https://github.com/YOURNAME/wordpress-develop.git && git remote add upstream git://develop.git.wordpress.org/
Check out the master
branch
branch
A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a “branch”, such as “the 4.0 branch”.
git checkout master
Create a feature branch based on the Trac ticket (e.g. 12345) you want to work on:
git checkout -b trac-12345
Add commits for your fixes and
git push
(see also
Caching your GitHub password in Git
to prevent having to re-enter your GitHub password each time).
Go to GitHub and open a pull request to your
master
branch.
With the newly-created pull request in hand, copy the URL and paste it into a new comment on WordPress Trac and solicit for feedback. Ideally you should also attach a diff of your patch, and again you can do this just by adding “
.diff
” to any pull request URL, for example:
First published
December 3, 2015
September 17, 2024
Previous
Installing MAMP
Previous: Installing MAMP
Next
Installing WampServer
Next: Installing WampServer
Visit our X (formerly Twitter) account
Visit our Bluesky account
Visit our Mastodon account
Visit our Threads account
Visit our Facebook page
Visit our Instagram account
Visit our LinkedIn account
Visit our TikTok account
Visit our YouTube channel
Visit our Tumblr account
The WordPress® trademark is the intellectual property of the WordPress Foundation.
compose new post
reply
edit
go to top
go to the next post or comment
go to the previous post or comment
toggle comment visibility
esc
cancel edit post or comment
US