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
An Introduction to Vagrant & Vaprobash
Search
Dries Vints
April 30, 2014
Programming
1
280
An Introduction to Vagrant & Vaprobash
A quick overview of Vagrant and the main provisioners and an overview of Vaprobash.
Dries Vints
April 30, 2014
Tweet
Share
More Decks by Dries Vints
See All by Dries Vints
Event Sourcing in Laravel with EventSauce
driesvints
0
1.1k
The Laravel Ecosystem
driesvints
14
7.8k
BDD With PHPSpec
driesvints
1
250
An introduction to Laravel 4
driesvints
14
1.7k
Other Decks in Programming
See All in Programming
AI駆動開発カンファレンスAutumn2025 _AI駆動開発にはAI駆動品質保証
autifyhq
0
150
Kotlin + Power-Assert 言語組み込みならではのAssertion Library採用と運用ベストプラクティス by Kazuki Matsuda/Gen-AX
kazukima
0
110
KoogではじめるAIエージェント開発
hiroaki404
1
430
The Missing Link in Angular's Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
110
開発生産性が組織文化になるまでの軌跡
tonegawa07
0
140
高単価案件で働くための心構え
nullnull
0
110
ビルドプロセスをデバッグしよう!
yt8492
0
290
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
9
5.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
440
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
36
11k
エンジニアに事業やプロダクトを理解してもらうためにやってること
murabayashi
0
140
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
140
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Typedesign – Prime Four
hannesfritz
42
2.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
GraphQLとの向き合い方2022年版
quramy
49
14k
Code Review Best Practice
trishagee
72
19k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Being A Developer After 40
akosma
91
590k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
RailsConf 2023
tenderlove
30
1.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Side Projects
sachag
455
43k
Transcript
AN INTRODUCTION TO VAGRANT & VAPROBASH BY DRIES VINTS
ABOUT ME ▸ Developer at BeatSwitch ▸ Writer of Laravel
Weekly ▸ Contributor for Laracon EU
THE GOALS ▸ Intro to Vagrant ▸ Start using Vaprobash
DEVOPS
None
WHAT WILL THIS TALK NOT COVER? ▸ Detailed provisioning ▸
Server configuration (Apache, Nginx) ▸ Vagrant deployment
WHAT WILL THIS TALK COVER? ▸ Quick intro of Vagrant
& basics ▸ Quick overview of provisioners ▸ Getting started with Vaprobash
WHAT IS VAGRANT? ▸ Created by Mitchell Hashimoto in 2010
▸ Development environments ▸ Lightweight, reproducible and sharable
WHY VAGRANT?
"It works on my machine"
WHY VAGRANT? ▸ Sharable development environments ▸ No more messing
w/ your workstation ▸ Works on all major OS: Linux, OSX and Wincrap FREE
VAGRANT VS. TRADITIONAL METHODS ▸ MAMP ▸ Development Servers ▸
Personal Virtual Servers
DEVELOP ON VIRTUAL PRODUCTION ENVIRONMENTS
TERMINOLOGY ▸ Boxes (vagrantcloud.com) ▸ Host and Guest ▸ Provider
(Virtualbox, VM Ware) ▸ Provisioner ▸ Synced Folder ▸ Vagrantfile
GETTING STARTED
WHAT YOU NEED ▸ Vagrant ▸ Virtualbox or VM Ware
VAGRANTFILE Vagrant.configure("2") do |config| config.vm.box = "hashicorp/precise32" config.vm.provision :shell, :path
=> "bootstrap.sh" config.vm.network :forwarded_port, host: 4567, guest: 80 end
COMMANDS $ vagrant up $ vagrant reload $ vagrant halt
$ vagrant suspend $ vagrant resume $ vagrant provision $ vagrant ssh $ vagrant destroy $ vagrant share
VAGRANT CLOUD vagrantcloud.com ▸ Vagrant share ▸ Box distribution (private
or public) ▸ Discover boxes
PROVISIONING
PROVISIONERS ▸ Puppet ▸ Chef ▸ Ansible ▸ Bash
PUPPET - CHEF - ANSIBLE ▸ Puppet: not sequential ▸
Chef: high learning curve & chaotic documentation ▸ Ansible: easy (read: easier)
VAPROBASH
VAPROBASH ▸ Created by Chris Fidao ▸ Vagrant Provisioning Bash
Scripts ▸ Goal: easy to use provisioning
BASE SUPPORT ▸ Git ▸ PHP ▸ Vim ▸ ...
WEB SERVERS ▸ Apache ▸ HHVM ▸ Nginx
DATABASES ▸ MySQL ▸ PostgreSQL ▸ SQLite ▸ MongoDB ▸
...
FRAMEWORKS/TOOLS ▸ Composer ▸ Laravel ▸ Symfony ▸ PHPUnit ▸
...
AND MORE ▸ Memcached ▸ Redis ▸ ElasticSearch and ElasticHQ
▸ Beanstalkd ▸ ...
XIP.IO # xip.io domain 192.168.22.10.xip.io # or hosts file entry
192.168.22.10 example.loc
DEMO!
SHOULD I USE VAGRANT?
DON'T STOP HERE ALWAYS BE LEARNING
None
RESOURCES ▸ Vaprobash: fideloper.github.io/Vaprobash ▸ Ansible provisioning: getprotobox.com ▸ Web
dev screencasts: laracasts.com ▸ For speakers: speaking.io
CONTACT ▸ twitter.com/driesvints ▸
[email protected]
▸ github.com/driesvints
CREDITS ▸ Erika Heidi for some ideas of her own
talk ▸ Chris Fidao for Vaprobash ▸ Mitchell Hashimoto for Vagrant ▸ BeatSwitch for being awesome
QUESTIONS?
THANK YOU!