VIP Quickstart is a local development environment for WordPress.com VIP. It provides developers with an environment that closely mirrors WordPress.com along with all the tools we recommend developers use.
See also: The VIP Quickstart Github repository.
- Ubuntu 12.04
Getting Started #
The first time you run the installer will be the slowest. It’s also the most dependent on the speed of your internet connection. This is because it has to download the virtual machine image, Ubuntu package updates, the full checkout of WordPress trunk, and the full VIP Plugins repository. Subsequent runs will only update this base.
If Subversion is installed to your local PATH, the init script (no matter what operating system you’re using) will use that. If not, no worries; we’ll just offload SVN to the VM.
If you’re on a Unix-based machine with a Bash shell, setup is pretty easy:
- Clone the VIP Quickstart Github repo
- Run the VIP init script:
- Go to http://vip.dev in your browser, login with username: wordpress, password: wordpress
The init script is setup such that you can run it multiple times and nothing will break. This means that you can also use it to update your environment in the future. If parts of the system are already up-to-date it will just skip those parts of the installer. So if you manually keep WordPress trunk up-to-date by running
svn up, the init script will just show a message that the WordPress install is already at the latest changeset.
After installing all the requirements, complete the following steps to install VIP Quickstart.
Note: When you run the Git installer, make sure to install Git to your system PATH as the VIP Quickstart installer requires it.
- Clone the VIP Quickstart Github repo
- Run the
- Go to http://vip.dev in your browser
If you receive a File cannot be loaded because the execution of scripts is disabled on this system error. Make sure you’re using a PowerShell interface. Use tools -> options to manage your default shell. (Right click on the repository and choose “Open a shell here”)
- Add user with SSH key
- Install Puppet and Git
- Clone Quickstart into
/srv/bin/vip-init --server [--domain=<domain>]
Since we turn off root logins and password logins via SSH, you’ll need to create another use and add an SSH key so you don’t get locked out of your server.
ssh-copy-id is useful for copying ssh keys on Linux. There are similar tools for other platforms.
See also: Setting up Quickstart on Amazon Web Services.
Default Usernames and Passwords #
Vagrant Primer #
The [Vagrant CLI documentation](http://docs.vagrantup.com/v2/cli/index.html) will be useful for developers that haven’t used Vagrant before. Since VIP Quickstart is built on top of Vagrant, the Vagrant CLI commands will also work.
Some useful commands:
vagrant up– Start and provisions the VM
vagrant halt– Stops the VM
vagrant reload– Restarts and provisions the VM
vagrant provision– Provisions the VM
vagrant ssh– Logs into the VM with ssh
vagrant destroy– Deletes the VM
VIP Quickstart comes with an installation of phpMyAdmin that allows you to view and query the MySQL database through a web browser. Once VIP Quickstart is running, you can access phpMyAdmin at http://vip.dev/phpmyadmin and use the MySQL username and password above to login.
Note that we do not recommend using phpMyAdmin for making changes to the MySQL database as a part of your development and testing work. Instead, use WordPress’s built-in functionality and API to query and manipulate data according to our best practices.
Unit Testing #
VIP Quickstart comes with a checkout of the WordPress-Tests automated testing framework. You can use this to run the unit tests for WordPress itself or for any plugin or theme that has phpunit tests defined.
To run the WordPress unit tests #
- CD to
/srv/www/wp-testsfrom within the VM.
To create unit tests for your plugin/theme #
- Navigate to your theme or plugin within the VM. (eg.
- Use WP CLI to the generate the plugin test files. Eg.
/srv/www/wp-cli/bin/wp scaffold plugin-tests my-plugin
phpunitinside your theme or plugin directory.
- Start building your tests within the newly created