Vagrant provisioning based on Varying Vagrant Vagrants.
This is just a starting proof of concept for provisioning WordPress and using a NodeJS server to parse slugs for content stored in the WordPress CMS.
- Start with any operating system.
- Install VirtualBox 4.2.x or VirtualBox 4.3.4
- Major portions of VirtualBox were rewritten for 4.3, and it's possible that there are still bugs to be shaken out. VVV is completely compatible with earlier versions of VirtualBox, so 4.2.18 or earlier would be just fine. Do note that Vagrant had specific issues with 4.2.16. Going as far back as 4.2.10 will likely be of no issue.
- VVV itself leans in the 4.3.x direction in the master branch to stay ahead of the curve.
- Install Vagrant 1.4.0
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. - Note: If VirtualBox 4.3.x is installed, Vagrant 1.3.5 or later is required.
- 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 local.wordpress-trunk.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
- Clone or extract the project into a local directory
git clone git://github.com/jsarracco/node-with-wordpress-cms.git vagrant-local
- 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 following default sites in your browser:
- http://local.wordpress.dev/ for WordPress stable
- http://local.wordpress-trunk.dev/ for WordPress trunk
- http://src.wordpress-develop.dev/ for trunk WordPress development files
- http://build.wordpress-develop.dev/ for the version of those development files built with Grunt
- http://vvv.dev/ for a default dashboard containing several useful tools
- The provision-post.sh file will add additional node modules and start the NodeJS Server, then you can go to:
- http://local.wordpress.dev:3000/ for WordPress stable
- Sample posts can be viewed here:
- Log into http://local.wordpress.dev/ admin and add a page or a post, the same url should appear on the NodeJS Server.
The network configuration picks an IP of 192.168.50.4. This works if you are not on the 192.168.50.x sub domain, it could cause conflicts on your existing network if you are on a 192.168.50.x sub domain already. You can configure any IP address in the Vagrantfile
and it will be used on the next vagrant up
All database usernames and passwords for WordPress installations included by default are wp
and wp
.
All WordPress admin usernames and passwords for WordPress installations included by default are admin
and password
.
- URL:
http://local.wordpress.dev
- DB Name:
wordpress_default
- URL:
http://local.wordpress-trunk.dev
- DB Name:
wordpress_trunk
- /src URL:
http://src.wordpress-develop.dev
- /build URL:
http://build.wordpress-develop.dev
- DB Name:
wordpress_develop
- DB Name:
wordpress_unit_tests
- User:
root
- Pass:
root
- See: Connecting to MySQL from your local machine
A bunch of stuff!
- Ubuntu 12.04 LTS (Precise Pangolin)
- WordPress Develop
- WordPress Stable
- WordPress Trunk
- WP-CLI
- nginx 1.4.x
- mysql 5.5.x
- php-fpm 5.4.x
- memcached 1.4.13
- PHP memcache extension 3.0.8
- PHP xdebug extension 2.2.3
- PHP imagick extension 3.1.0RC2
- xdebug 2.2.3
- PHPUnit 3.7.24
- ack-grep 2.04
- git 1.8.5
- subversion 1.7.9
- ngrep
- dos2unix
- Composer
- phpMemcachedAdmin 1.2.2 BETA
- phpMyAdmin 4.0.10 (multi-language)
- Webgrind
- NodeJs Current Stable Version
- grunt-cli Current Stable Version