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
760
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
960
Composer_and_WordPress__1_.pdf
tarendai
0
76
REST APIs for Absolute Beginners
tarendai
0
970
WordCamp Europe 2016 - Handling Anxiety
tarendai
1
470
Escape From New York
tarendai
0
710
WP The Right Way
tarendai
0
1k
Code Deodorant 2014
tarendai
1
710
Adv WP CLI
tarendai
0
690
WP CLI
tarendai
0
650
Other Decks in Programming
See All in Programming
Improving my own Ruby thereafter
sisshiki1969
1
130
rage against annotate_predecessor
junk0612
0
140
RDoc meets YARD
okuramasafumi
4
160
あのころの iPod を どうにか再生させたい
orumin
2
2.6k
TDD 実践ミニトーク
contour_gara
1
260
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
25
9.5k
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
1
150
Langfuseと歩む生成AI活用推進
licux
3
320
兎に角、コードレビュー
mitohato14
0
160
Trem on Rails - Prompt Engineering com Ruby
elainenaomi
1
100
AIでLINEスタンプを作ってみた
eycjur
1
220
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
220
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Code Reviewing Like a Champion
maltzj
525
40k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Music & Morning Musume
bryan
46
6.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Documentation Writing (for coders)
carmenintech
73
5k
Practical Orchestrator
shlominoach
190
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Designing for humans not robots
tammielis
253
25k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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