I'm not very active on this project, but bradp is doing great work on his fork of this project, Variable VVV.
Version 1.1.3
This bash script makes it easy to spin up a new WordPress site using Varying Vagrant Vagrants.
Download the script and run ./vvv
from the directory the script is placed in.
To run the script from anywhere, you can place vvv
in a folder included in your PATH environment variable.
If you don't want to define the path each time you run the script, open the file and uncomment the line at the top defining path
. Set that to the root folder of VVV on your machine. Note: You do not need to do this if VVV is installed in the default location (~/vagrant-local/
).
Type vvv
in the command line to use. None of the options are required: if a required piece of information is not included in the original command, the wizard will prompt you for it.
Option | Name | Description |
---|---|---|
-a |
action | new /create /make runs the site creation wizard, rm /delete /teardown runs the site teardown wizard, list lists all current VVV sites |
-d |
domain | Desired domain (e.g. mysite.dev) |
-f |
files only | Do not provision Vagrant, just create the site directory and files |
-i |
image proxy | Load images by proxy from the live site (so you don't have to download the uploads folder) |
-l |
live URL | URL of the live site, currently only used if loading images by proxy |
-n |
site name | Desired name for the site directory (e.g. mysite) |
-p |
path | Path to VVV root (e.g. ~/vagrant-local) |
-v |
version | Version of WordPress to install |
-x |
debug | Turn on WP_DEBUG and WP_DEBUG_LOG |
Examples:
vvv -a new
vvv -a create -n mysite -d mysite.dev -v 3.9.1 -x
vvv -a make -fxil mysite.com -n mysite -d mysite.dev -v 3.9.1
vvv -a delete mysite
vvv -a list
Creating a site does the following:
- Halts Vagrant (if running)
- Creates a web root for the site in the
www
folder containing three files:vvv-init.sh
,wp-cli.yml
, andvvv-hosts
vvv-init.sh
tells Vagrant to create a database if one does not exist and install the latest version of WordPress (via WP-CLI) the next time Vagrant is provisionedwp-cli.yml
tells WP-CLI that WordPress is in the htdocs foldervvv-hosts
contains the hosts entry to give your site a nice custom domain (the domain is set in the wizard)
- Creates a file in the
nginx-config
folder to handle server settings for your site - Restarts Vagrant with
vagrant up --provision
Provisioning Vagrant takes a couple of minutes, but this is a crucial step as it downloads WordPress into your site's htdocs directory and runs the installation. If you want to skip provisioning and install WordPress manually, you can run the new site's vvv-init.sh
file directly in the Vagrant shell.
Deleting a site does the following:
- Halts Vagrant (if running)
- Deletes the site's web root (which deletes the
vvv-init.sh
,wp-cli.yml
, andvvv-hosts
files as well) - Deletes the file in the
nginx-config
folder pertaining to the site
Note that it does not delete the site's database.
Ping me on Twitter at @alisothegeek.
- Fix forward slashes in a live site URL (used for the image proxy) causing an error
- Fix done_text implementation in the site teardown wizard
- Add the ability to load images by proxy from the live site (props @TheLastCicada)
- Fix bug where wp_debug was not set properly when set via command option
- Add default VVV install path to script (if VVV is installed in default location,
path
no longer needs to be explicitly defined)
- Add ability to select WordPress version (props @adamsilverstein)
- Add ability to define
WP_DEBUG
andWP_DEBUG_LOG
- Convert positional parameters to command line options for maximum flexibility
- Switch to using WP-CLI instead of SVN to install WordPress
- Allow for tab completions when defining directories
- Initial release