Managing Multiple WordPress Sites Made Easy

with Vagrant and Wordmove

Where the issues began

&

So Many Steps

There has to be a better way...

Our solution:

VVV

VV

on

on

(    )

(    )

Wait, what?

Local virtual server

Creates containerized development environments

VVV

Varying Vagrant Vagrants (I know...)

Open source Vagrant configuration

VV

Variable VVV

VVV site wizard

Mirror WordPress installations and DB data 

VVV

VV

on

on

(    )

(    )

The Dream Team

They're a little complicated...but aren't we all?

How to Install

Download and Install

Download and Install

VVV

Clone

Install       IN Vagrant 

via terminal

from

Install

VV

using

HomeBrew

Check last slide for full installation instructions

Everything is installed. Now what?

Your first 'vv create'

What happens when I run 'vv create'?

192.168.50.4  vvv  # VAGRANT: 27a40041732b2919f574a4cc71a0e969 (default) / b9ea4213-7c80-4851-a558-e546e241c8b3
192.168.50.4  test-site.dev  # VAGRANT: 27a40041732b2919f574a4cc71a0e969 (default) / b9ea4213-7c80-4851-a558-e546e241c8b3
192.168.50.4  vvv.dev  # VAGRANT: 27a40041732b2919f574a4cc71a0e969 (default) / b9ea4213-7c80-4851-a558-e546e241c8b3
192.168.50.4  local.wordpress.dev  # VAGRANT: 27a40041732b2919f574a4cc71a0e969 (default) / b9ea4213-7c80-4851-a558-e546e241c8b3
192.168.50.4  local.wordpress-trunk.dev  # VAGRANT: 27a40041732b2919f574a4cc71a0e969 (default) / b9ea4213-7c80-4851-a558-e546e241c8b3
192.168.50.4  src.wordpress-develop.dev  # VAGRANT: 27a40041732b2919f574a4cc71a0e969 (default) / b9ea4213-7c80-4851-a558-e546e241c8b3
192.168.50.4  build.wordpress-develop.dev  # VAGRANT: 27a40041732b2919f574a4cc71a0e969 (default) / b9ea4213-7c80-4851-a558-e546e241c8b3
~
~
~

/etc/hosts

~/vagrant-local/www/test-site/htdocs

[vvv-install-dir]

[site-dir]

MySql Database

http://test-site.dev

Voila!

Important Info:

/wp-admin credentials:

username: admin

password: password

database credentials:

username: wp

password: wp

Benefits

It's fast.

(while using SSH)

More Benefits

It only moves the files you edit

(Stop going back and forth to FTP)

 > vagrant ssh

Connect via SSH to VirtualBox

Common site path: /srv/www/test-site/htdocs

Creating your Movefile

> wordmove init

Wordmoving your site

Push up entire site

Entire WordPress installation

> wordmove push -e production --all

Push individual components

> wordmove push -e production -d
> wordmove push -e production -p
> wordmove push -e production -t
> wordmove push -e production -u

Move theme (just files that have changed)

Move /uploads directory

Move all plugins

Move database

Using Wordmove to Pull

Pull down entire site

Entire WordPress installation

> wordmove pull -e production --all

Pull individual components

> wordmove pull -e production -d
> wordmove pull -e production -p
> wordmove pull -e production -t
> wordmove pull -e production -u

Move theme (just files that have changed)

Move /uploads directory

Move all plugins

Move database

WARNING

about

A

wordmove push -e production --all

How we do it:

localhost

staging server

production server

wordmove push/pull -e production
wordmove push/pull -e staging
vv create

Any questions?

Sam Brasseale

@Brasseale

Director of Interactive

Cayenne Creative

Full Install Directions

1. Install VirtualBox: 
    (For mac: OSX Hosts > amd64)
    https://www.virtualbox.org/wiki/Downloads 
2. Install Vagrant: 
    https://www.vagrantup.com/downloads.html
3. Install VVV: 
    https://github.com/Varying-Vagrant-Vagrants/VVV#the-first-vagrant-up

(Follow the instructions for "The First Vagrant Up" - 
Also install the additional plugins hostupdater, and triggers)
I recommend installing VVV into a catch-all folder. All of 
your local sites generated with VV will be in this folder 
so name it something generic (mine is cayenne-base).

I also recommend installing it into the ~/Sites directory like so:
cd ~;
mkdir Sites;
cd Sites;
mkdir base-site; #Rename this to whatever you like, we use cayenne-base

Your final path should be:
~/Sites/base-site

4. Once the VVV installation is complete 
then you can install VV. An easy install of VV uses homebrew. 
You'll need to install homebrew if you don't already have it.
http://brew.sh/

5. Then install vv: https://github.com/bradp/vv

Managing Multiple WordPress Sites Made Easy

By brasseale

Managing Multiple WordPress Sites Made Easy

WordCamp Birmingham 2016

  • 3,196