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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Dries Vints
April 30, 2014
Programming
300
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
An Introduction to Vagrant & Vaprobash
A quick overview of Vagrant and the main provisioners and an overview of Vaprobash.
Dries Vints
April 30, 2014
More Decks by Dries Vints
See All by Dries Vints
Event Sourcing in Laravel with EventSauce
driesvints
0
1.2k
The Laravel Ecosystem
driesvints
14
7.9k
BDD With PHPSpec
driesvints
1
300
An introduction to Laravel 4
driesvints
14
1.8k
Other Decks in Programming
See All in Programming
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
510
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
610
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
760
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
130
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
800
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
180
React本体のコードリーディング
high_g_engineer
1
120
AIが無かった頃の素敵な出会いの話
codmoninc
1
340
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
290
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
330
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.3k
yield再入門 #phpcon
o0h
PRO
0
870
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
310
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
GitHub's CSS Performance
jonrohan
1033
470k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
For a Future-Friendly Web
brad_frost
183
10k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
RailsConf 2023
tenderlove
30
1.5k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
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!