Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VVV 2
Search
Tom J Nowell
April 03, 2017
Programming
0
700
VVV 2
What is VVV? What's new in VVV 2? How to Migrate from v1
Tom J Nowell
April 03, 2017
Tweet
Share
More Decks by Tom J Nowell
See All by Tom J Nowell
Using Blocks Outside The Editor
tarendai
0
890
Composer_and_WordPress__1_.pdf
tarendai
0
68
REST APIs for Absolute Beginners
tarendai
0
910
WordCamp Europe 2016 - Handling Anxiety
tarendai
1
420
Escape From New York
tarendai
0
670
WP The Right Way
tarendai
0
1k
Code Deodorant 2014
tarendai
1
680
Adv WP CLI
tarendai
0
660
WP CLI
tarendai
0
600
Other Decks in Programming
See All in Programming
コードを読んで理解するko build
bells17
1
120
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
260
[JAWS DAYS 2025] 最近の DB の競合解決の仕組みが分かった気になってみた
maroon1st
0
200
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
320
クックパッド検索システム統合/Cookpad Search System Consolidation
giga811
0
190
オレを救った Cline を紹介する
codehex
16
15k
PRレビューのお供にDanger
stoticdev
1
250
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
180
Google Cloudとo11yで実現するアプリケーション開発者主体のDB改善
nnaka2992
1
160
技術を改善し続ける
gumioji
0
180
Rubyと自由とAIと
yotii23
6
1.9k
Introduction to C Extensions
sylph01
3
130
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Statistics for Hackers
jakevdp
797
220k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Writing Fast Ruby
sferik
628
61k
Code Reviewing Like a Champion
maltzj
521
39k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
How GitHub (no longer) Works
holman
314
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Transcript
__ ___ ___ __ ____ \ \ / \ \
/ \ \ / / |___ \ \ \ / / \ \ / / \ \ / / __) | \ V / \ V / \ V / / __/ \_/ \_/ \_/ |_____| Varying Vagrant Vagrants Tom J Nowell @tarendai https://tomjn.com
This Talk Covers • What is VVV • What Changed
in VVV 2 • Migrating from VVV 1 • Setting up a new Site • Setting up an existing site
What is VVV?
A Local Developer Environment • WP CLI • PHP •
MariaDB • MemcacheD • Nginx • Site Provisioning • A standardised system
Installation From scratch • Install Vagrant & Virtualbox & git
• Grab a copy of VVV from GitHub • Run: vagrant plugin install vagrant-triggers vagrant-hostsupdater Then: vagrant up --provision
None
vagrant up Turns it on vagrant halt Turns it off
What Changed in VVV 2?
vvv-config.yml
Sites: # The wordpress-default configuration provides a default installation of
the # latest version of WordPress. wordpress-default: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git hosts: - local.wordpress.dev # The wordpress-develop configuration is useful for contributing to WordPress. wordpress-develop: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-develop.git hosts: - src.wordpress-develop.dev - build.wordpress-develop.dev #example-site: # repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git # hosts: # - my-example-site.dev utilities: core: - memcached-admin - opcache-status - phpmyadmin - webgrind
Important: Copy to vvv-custom.yml
Migrating from VVV 1
Backup your database Already done if you have vagrant-triggers
Rebuild: vagrant destroy Vagrant up --provision
Migrating a VVV 1 Site
None
sites: vvv1site: hosts: - vvv1site.dev
Always reprovision on changes vagrant reload --provision
Setting Up a New Site
Add a site to vvv-custom.yml: newsite: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-t emplate.git hosts:
- newsite.com
sites: wordpress-default: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git hosts: - local.wordpress.dev wordpress-develop: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-develop.git
hosts: - src.wordpress-develop.dev - build.wordpress-develop.dev newsite: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git hosts: - newsite.com utilities: core: - memcached-admin - opcache-status - phpmyadmin - webgrind
Always reprovision on changes vagrant reload --provision
Setting Up An Existing Site
Add a site to vvv-custom.yml: site-name: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-t emplate.git hosts:
- example.com
1. Reprovision 2. Copy files 3. Copy Database
Always reprovision on changes vagrant reload --provision
Advanced Provisioning
provision/vvv-init.sh A bash script that sets up your site provision/vvv-nginx.conf
The NGINX config for your site
More Per Site Options skip_provisioning: true branch: develop
Custom Folders local_dir: <absolute path> vm_dir: <absolute path>
example-site: local_dir: /home/user/Documents/example vm_dir: /srv/www/examplesite hosts: - my-example-site.dev
sites: # The wordpress-default configuration provides a default installation of
the # latest version of WordPress. wordpress-default: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git hosts: - local.wordpress.dev example-site: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git local_dir: /home/user/Documents/example vm_dir: /srv/www/examplesite hosts: - my-example-site.dev utilities: core: - memcached-admin - opcache-status - phpmyadmin - webgrind
Custom PHP Versions nginx_upstream: php56
sites: # The wordpress-default configuration provides a default installation of
the # latest version of WordPress. wordpress-default: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git nginx_upstream: php70 hosts: - local.wordpress.dev example-site: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git nginx_upstream: php56 hosts: - my-example-site.dev utilities: core: - memcached-admin - opcache-status - phpmyadmin - webgrind - php56
Common Troubleshooting Local Network Clashes VVV using the same IP
as other computers Typos in vvv-custom.yml Syntax errors will break provisioning Corrupt VMs Powering down a machine unsafely, or disk corruption Out of Date Software Old Vagrant and Virtualbox Downgrading to VVV 1 Downgrading isn’t supported
Database Backups Vagrant triggers runs a backup script on halt/destroy
that places SQL files in database/backups/*.sql Backups are restored on provision if the db is empty
More Info https://github.com/Varying-Vagrant-Vagrants https://varyingvagrantvagrants.org
Tom J Nowell VIP Wrangler at Automattic https://tomjn.com @tarendai
Q? Tom J Nowell @tarendai https://tomjn.com