View on GitHub
Download this project as a .zip file Download this project as a tar.gz file

Vagrantpress is a Vagrant based development enviroment for creating and modifying WordPress sites.

Using Vagrantpress is meant to be easy - you should be able to get started with four commands:

$ wget -O
$ unzip
$ cd vagrantpress-master
$ vagrant up

Once vagrant builds the environment, you’ll have a clean development environment for creating your own WordPress modules and themes by opening http://localhost:8080/.

What Do I Need to Get Started?

First, you’ll need a copy of a Virtual Machine environment. Install a copy of Oracle VirtualBox, a freely supported VM environment for Vagrant. (Vagrant also supports providers for different services, including a provider for VMWare Fusion - see the Vagrant homepage for information.)

Second, you’ll need a working copy of Vagrant. You can find a copy of the latest version on the Vagrant downloads page, or follow directions in the Vagrant documentation to install vagrant for your environment.

… and that’s it. From here, you can follow the four-command script above or get your own copy of Vagrantpress from the github repository. Vagrantpress uses [Puppet] scripting to set up a working WordPress installation.

**NOTE: ** you can log in to the WordPress admin panel at http://localhost:8080/wp-admin/ with the username admin and the password vagrant.

What Does VagrantPress Install?

The Vagrantpress puppet scripts will install a simple LAMP stack and clone a copy of the WordPress github repository to the virtual machine shared folder.

WARNING: The default puppet script will attempt to download a copy of a Vagrant ‘box’ from Amazon S3 that is approximately 500 MB in size. Feel free to use this box, or if you have one locally, edit the Vagrantfile in the root directory to use a local (or easily obtained) box. (See the documentation for more on Vagrant boxes.)

The LAMP stack here (as tested) includes:

  • A virtual machine running the 14.04 LTS (i386/amd64) version of Ubuntu.
  • The Apache2 WebServer
  • PHP5
  • The MySQL Database
  • WordPress v. 3.8 (With the git clone command, you’ll have access to all tagged releases of WordPress, but the puppet script currently creates a database appropriate for v. 3.8. Earlier versions have not been tested at this writing. See the roadmap sections for more detail about where the project is going.)

Now That It’s Up and Running, Now What?

You can use this environment to create, modify and experiment with WordPress theming and modules - either your own development or testing plugins for use on your ‘real’ WordPress site.

The Vagrantpress puppet script creates a folder called wordpress in the directory where the Vagrant virtual machine is running - you can create your own themes and modules in the wp-content directory as you would for any other type of WordPress development. This directory will also exist “on the host system”, allowing you to use the development tools/editors of your choice.

How Do I Get Help or Contribute to the project?

There are three ways you can get started using and contributing to the project itself:

  1. Use the project! Let us know how it works for you.
  2. Join the mailing list / Google Group
  3. Contribute to issues and code on GitHub

What’s New in the Project?

Admittedly, some of the project - simple as it is - is aging. I’ve put together something of a roadmap for your perusal.

Authors and Contributors

Vagrantpress is a personal project of @chad-thompson who was looking for a simpler way to stand up multiple WordPress environments. This project is one of the first ‘real’ Vagrant environments (and puppet scripts) that I’ve put together, but I hope that someone else finds this as useful as I do. Please contact me if you’ve found this tool useful, have some questions, or would like to help out. Thanks!