Magical WordPress Development with Vagrant

Chris Olbekson
Chris OlbeksonWordPress Developer & Consultant at X-Team
Chris Olbekson
!
WordPress Developer
Twitter: @chris_olbekson
Houston, TX
!
Magical WordPress
Development With
Vagrant
Magical WordPress Development with Vagrant
Chris Olbekson @chris_olbekson
$ fink remove --recursive daemonic xinitrc
$ sudo rm -rf /opt/local
$ brew tap josegonzalez/homebrew-php
$ brew install php53 —with-fpm —with-mysql
nginx mysql
$ echo export PATH="$(brew —prefix
josegonzalez/php/php55)/bin:/usr/local/
bin:$PATH” > ~/.bash_profile
Fink Brew
Magical WordPress Development with Vagrant
Magical WordPress Development with Vagrant
Magical WordPress Development with Vagrant
Vagrant
How did we get here?
!
Magical WordPress Development with Vagrant
My WordPress Toolbox
circa 2005
Connect to a remote machine (usually I do development on my
laptop, locally, but sometimes I’ll work from another computer):	

!
$ ssh -l remote_username example.com	

$ mkdir /path/to/wordpress/	

$ cd /path/to/wordpress/	

$ svn co http://svn.automattic.com/wordpress/trunk/ .	

$ nano filename.php
Magical WordPress Development with Vagrant
Minimum Requirements
!
PHP 5.2.4 or greater
MySQL 5.0 or greater
The mod_rewrite Apache module
!
Local LAMP Environments
PHP, MySQL and Apache
Binaries for Windows and Mac
!
Minimum Requirements
!
!
XAMPP, MAMP, WAMP
!
Point and click stable LAMP
sandboxes
!
!
Environment Requirements
!
Ngnix
Memcached
Varnish
Squid
!
Environment Requirements
!
Ngnix
Memcached
Varnish
Squid
Vagrant
is the magical
WordPress development
environment you’ve
been looking for
!
What is Vagrant?
Vagrant is open source software
for creating and configuring
portable development
environments.
!
http://www.vagrantup.com/about.html
1. Host
2. Guest
3. Box
4. Provisioning
!
!
!
!
Anotomy of a Vagrant
Virtual Machine
.VagrantFile
!
provision.sh
!
Puppet
Chef
Salt
!
$ vagrant up
!
$ vagrant destroy
Varying Vagrant Vagrants
!
The primary goal of Varying Vagrant Vagrants
(VVV) is to provide an approachable way for
developers to begin working in a development
environment that matches a production
environment as closely as possible.
!
“The gateway Vagrant Config”
— Jeremy Felt
!
https://github.com/Varying-Vagrant-Vagrants/VVV
VVV Site Wizard
Bash script for spinning up new WordPress sites
with VVV
!
WordPress Theme Review VVV
Creates a WordPress site set up with all
the tools the Wordpress dot org theme
review team uses.
!
Primary Vagrant
Uses Apache instead of Nginx and provisions
with Puppet instead of bash
!
13 Vagrant Resources for
WordPress Development
!
http://wptavern.com/13-vagrant-resources-
for-wordpress-development
!
!
!
VIP Quick Start
!
Closely resembles the
WordPress dot com VIP
stack
!
!
!
The Future?
!
.VagrantFile in core
!
Hosting providers publishing a .VagrantFile
!
Hello WP Engine, HostGator, Media Temple
!
!
!
Questions?
!
Comments?
!
!
!
1 of 29

Recommended

Automated reproducible images on openstack using vagrant and packer by
Automated reproducible images on openstack using vagrant and packerAutomated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packerJan Collijs
146 views13 slides
Writing webapps with Perl Dancer by
Writing webapps with Perl DancerWriting webapps with Perl Dancer
Writing webapps with Perl DancerAlexis Sukrieh
29.4K views101 slides
Perl Dancer for Python programmers by
Perl Dancer for Python programmersPerl Dancer for Python programmers
Perl Dancer for Python programmersxSawyer
16.3K views31 slides
Zram by
ZramZram
ZramNur Budiyanto
292 views2 slides
구름 이야기(Feat. gcp) - 구글클라우드(GCP) 활용 사례 by
구름 이야기(Feat. gcp) - 구글클라우드(GCP) 활용 사례구름 이야기(Feat. gcp) - 구글클라우드(GCP) 활용 사례
구름 이야기(Feat. gcp) - 구글클라우드(GCP) 활용 사례Seongyun Byeon
2.4K views43 slides
How to simplify OSGi development using OBR - Peter Kriens by
How to simplify OSGi development using OBR - Peter KriensHow to simplify OSGi development using OBR - Peter Kriens
How to simplify OSGi development using OBR - Peter Kriensmfrancis
2.7K views29 slides

More Related Content

What's hot

Babushka by
BabushkaBabushka
BabushkaRichard McGain
542 views23 slides
Environments line-up! Vagrant & Puppet 101 by
Environments line-up! Vagrant & Puppet 101Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101jelrikvh
1K views43 slides
Using python and docker for data science by
Using python and docker for data scienceUsing python and docker for data science
Using python and docker for data scienceCalvin Giles
2.2K views10 slides
Memory Management in WordPress by
Memory Management in WordPressMemory Management in WordPress
Memory Management in WordPressKonstantin Kovshenin
1.5K views60 slides
Using docker for data science - part 2 by
Using docker for data science - part 2Using docker for data science - part 2
Using docker for data science - part 2Calvin Giles
2.5K views21 slides
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti by
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivostiRiki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivostiDevelcz
5.3K views41 slides

What's hot(20)

Environments line-up! Vagrant & Puppet 101 by jelrikvh
Environments line-up! Vagrant & Puppet 101Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101
jelrikvh1K views
Using python and docker for data science by Calvin Giles
Using python and docker for data scienceUsing python and docker for data science
Using python and docker for data science
Calvin Giles2.2K views
Using docker for data science - part 2 by Calvin Giles
Using docker for data science - part 2Using docker for data science - part 2
Using docker for data science - part 2
Calvin Giles2.5K views
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti by Develcz
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivostiRiki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti
Develcz5.3K views
Taking the Friction Out of Ticket Investigation (Standardized Debugging Envir... by Atlassian
Taking the Friction Out of Ticket Investigation (Standardized Debugging Envir...Taking the Friction Out of Ticket Investigation (Standardized Debugging Envir...
Taking the Friction Out of Ticket Investigation (Standardized Debugging Envir...
Atlassian792 views
Phoenix and beyond: Things we do with Elixir - Alexander Khokhlov by Elixir Club
Phoenix and beyond: Things we do with Elixir - Alexander KhokhlovPhoenix and beyond: Things we do with Elixir - Alexander Khokhlov
Phoenix and beyond: Things we do with Elixir - Alexander Khokhlov
Elixir Club296 views
(WHAT) To Do or Not To Do: Staying Up To Date with PHP Versions by Abu Ashraf Masnun
(WHAT) To Do or Not To Do: Staying Up To Date with PHP Versions(WHAT) To Do or Not To Do: Staying Up To Date with PHP Versions
(WHAT) To Do or Not To Do: Staying Up To Date with PHP Versions
Abu Ashraf Masnun1.3K views
Containers from Scratch: what are they made from? by Giri Kuncoro
Containers from Scratch: what are they made from?Containers from Scratch: what are they made from?
Containers from Scratch: what are they made from?
Giri Kuncoro264 views
Ansible ハンズオン on AWS - DevelopersIO 2017 by Shuji Watanabe
Ansible ハンズオン on AWS - DevelopersIO 2017Ansible ハンズオン on AWS - DevelopersIO 2017
Ansible ハンズオン on AWS - DevelopersIO 2017
Shuji Watanabe2K views
5 Ways to Awesome-ize Your (PHP) Code by Jeremy Kendall
5 Ways to Awesome-ize Your (PHP) Code5 Ways to Awesome-ize Your (PHP) Code
5 Ways to Awesome-ize Your (PHP) Code
Jeremy Kendall3.4K views
Mac OS X Lion で作る WordPress local 環境 by Yuriko IKEDA
Mac OS X Lion で作る WordPress local 環境Mac OS X Lion で作る WordPress local 環境
Mac OS X Lion で作る WordPress local 環境
Yuriko IKEDA4.7K views
Deploying Rails Applications with Capistrano by Almir Mendes
Deploying Rails Applications with CapistranoDeploying Rails Applications with Capistrano
Deploying Rails Applications with Capistrano
Almir Mendes726 views

Similar to Magical WordPress Development with Vagrant

PHP selber bauen by
PHP selber bauenPHP selber bauen
PHP selber bauenWalter Ebert
4.7K views29 slides
WordPress Home Server with Raspberry Pi by
WordPress Home Server with Raspberry PiWordPress Home Server with Raspberry Pi
WordPress Home Server with Raspberry PiYuriko IKEDA
4.7K views50 slides
WP-CLI Workshop at WordPress Meetup Cluj-Napoca by
WP-CLI Workshop at WordPress Meetup Cluj-NapocaWP-CLI Workshop at WordPress Meetup Cluj-Napoca
WP-CLI Workshop at WordPress Meetup Cluj-Napoca4nd4p0p
163 views19 slides
macos installation automation by
macos installation automationmacos installation automation
macos installation automationJon Fuller
6.1K views20 slides
Vagrant WordCamp Hamilton by
Vagrant  WordCamp HamiltonVagrant  WordCamp Hamilton
Vagrant WordCamp HamiltonPaul Bearne
739 views39 slides
Lumen by
LumenLumen
LumenJoshua Copeland
1.4K views16 slides

Similar to Magical WordPress Development with Vagrant(20)

WordPress Home Server with Raspberry Pi by Yuriko IKEDA
WordPress Home Server with Raspberry PiWordPress Home Server with Raspberry Pi
WordPress Home Server with Raspberry Pi
Yuriko IKEDA4.7K views
WP-CLI Workshop at WordPress Meetup Cluj-Napoca by 4nd4p0p
WP-CLI Workshop at WordPress Meetup Cluj-NapocaWP-CLI Workshop at WordPress Meetup Cluj-Napoca
WP-CLI Workshop at WordPress Meetup Cluj-Napoca
4nd4p0p163 views
macos installation automation by Jon Fuller
macos installation automationmacos installation automation
macos installation automation
Jon Fuller6.1K views
Vagrant WordCamp Hamilton by Paul Bearne
Vagrant  WordCamp HamiltonVagrant  WordCamp Hamilton
Vagrant WordCamp Hamilton
Paul Bearne739 views
The Modern Developer Toolbox by Pablo Godel
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
Pablo Godel2.6K views
WordPress Plugin Unit Tests (FR - WordCamp Paris 2015) by Ozh
WordPress Plugin Unit Tests (FR - WordCamp Paris 2015)WordPress Plugin Unit Tests (FR - WordCamp Paris 2015)
WordPress Plugin Unit Tests (FR - WordCamp Paris 2015)
Ozh 37.6K views
Web development automatisation for fun and profit (Artem Daniliants) by LumoSpark
Web development automatisation for fun and profit (Artem Daniliants)Web development automatisation for fun and profit (Artem Daniliants)
Web development automatisation for fun and profit (Artem Daniliants)
LumoSpark350 views
Phoenix Servers with Docker and Nginx by Nils De Moor
Phoenix Servers with Docker and NginxPhoenix Servers with Docker and Nginx
Phoenix Servers with Docker and Nginx
Nils De Moor1.6K views
Contribuir a Drupal - Entorno by Keopx
Contribuir a Drupal - EntornoContribuir a Drupal - Entorno
Contribuir a Drupal - Entorno
Keopx 249 views
Advanced WordPress Development Environments by Beau Lebens
Advanced WordPress Development EnvironmentsAdvanced WordPress Development Environments
Advanced WordPress Development Environments
Beau Lebens2.4K views
$kernel->infect(): Creating a cryptovirus for Symfony2 apps by Raul Fraile
$kernel->infect(): Creating a cryptovirus for Symfony2 apps$kernel->infect(): Creating a cryptovirus for Symfony2 apps
$kernel->infect(): Creating a cryptovirus for Symfony2 apps
Raul Fraile8.9K views
Vagrant for real codemotion (moar tips! ;-)) by Michele Orselli
Vagrant for real codemotion (moar tips! ;-))Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))
Michele Orselli1K views
PHP Project development with Vagrant by Bahattin Çiniç
PHP Project development with VagrantPHP Project development with Vagrant
PHP Project development with Vagrant
Bahattin Çiniç9.2K views
40 Methods for Privilege Escalation Part 1 by Hadess
40 Methods for Privilege Escalation Part 140 Methods for Privilege Escalation Part 1
40 Methods for Privilege Escalation Part 1
Hadess57 views
Methods for Privilege Escalation Part One.pdf by rimaNova1
Methods for Privilege Escalation Part One.pdfMethods for Privilege Escalation Part One.pdf
Methods for Privilege Escalation Part One.pdf
rimaNova150 views
Linux basic for CADD biologist by Ajay Murali
Linux basic for CADD biologistLinux basic for CADD biologist
Linux basic for CADD biologist
Ajay Murali89 views

More from Chris Olbekson

Managing themes and server environments with extensible configuration arrays by
Managing themes and server environments with extensible configuration arraysManaging themes and server environments with extensible configuration arrays
Managing themes and server environments with extensible configuration arraysChris Olbekson
650 views25 slides
The Query the Whole Query and Nothing but the Query by
The Query the Whole Query and Nothing but the QueryThe Query the Whole Query and Nothing but the Query
The Query the Whole Query and Nothing but the QueryChris Olbekson
1.2K views66 slides
WordPress Houston Meetup - Using WordPress as a CMS by
WordPress Houston Meetup - Using WordPress as a CMSWordPress Houston Meetup - Using WordPress as a CMS
WordPress Houston Meetup - Using WordPress as a CMSChris Olbekson
1.1K views18 slides
Cognac gautier presentation by
Cognac gautier   presentationCognac gautier   presentation
Cognac gautier presentationChris Olbekson
1.9K views38 slides
Theme frameworks & child themes by
Theme frameworks & child themesTheme frameworks & child themes
Theme frameworks & child themesChris Olbekson
812 views15 slides
Optimizing WordPress for Performance - WordCamp Houston by
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonChris Olbekson
605 views28 slides

More from Chris Olbekson(6)

Managing themes and server environments with extensible configuration arrays by Chris Olbekson
Managing themes and server environments with extensible configuration arraysManaging themes and server environments with extensible configuration arrays
Managing themes and server environments with extensible configuration arrays
Chris Olbekson650 views
The Query the Whole Query and Nothing but the Query by Chris Olbekson
The Query the Whole Query and Nothing but the QueryThe Query the Whole Query and Nothing but the Query
The Query the Whole Query and Nothing but the Query
Chris Olbekson1.2K views
WordPress Houston Meetup - Using WordPress as a CMS by Chris Olbekson
WordPress Houston Meetup - Using WordPress as a CMSWordPress Houston Meetup - Using WordPress as a CMS
WordPress Houston Meetup - Using WordPress as a CMS
Chris Olbekson1.1K views
Cognac gautier presentation by Chris Olbekson
Cognac gautier   presentationCognac gautier   presentation
Cognac gautier presentation
Chris Olbekson1.9K views
Theme frameworks & child themes by Chris Olbekson
Theme frameworks & child themesTheme frameworks & child themes
Theme frameworks & child themes
Chris Olbekson812 views
Optimizing WordPress for Performance - WordCamp Houston by Chris Olbekson
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp Houston
Chris Olbekson605 views

Recently uploaded

Special_edition_innovator_2023.pdf by
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
18 views6 slides
HTTP headers that make your website go faster - devs.gent November 2023 by
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023Thijs Feryn
26 views151 slides
Mini-Track: Challenges to Network Automation Adoption by
Mini-Track: Challenges to Network Automation AdoptionMini-Track: Challenges to Network Automation Adoption
Mini-Track: Challenges to Network Automation AdoptionNetwork Automation Forum
17 views27 slides
The Research Portal of Catalonia: Growing more (information) & more (services) by
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)CSUC - Consorci de Serveis Universitaris de Catalunya
115 views25 slides
Business Analyst Series 2023 - Week 3 Session 5 by
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
345 views20 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
72 views29 slides

Recently uploaded(20)

Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2218 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn26 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10345 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc72 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi139 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
The Forbidden VPN Secrets.pdf by Mariam Shaba
The Forbidden VPN Secrets.pdfThe Forbidden VPN Secrets.pdf
The Forbidden VPN Secrets.pdf
Mariam Shaba20 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman38 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson126 views

Magical WordPress Development with Vagrant