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
240
An introduction to Laravel 4
driesvints
14
1.7k
Other Decks in Programming
See All in Programming
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
8
1.5k
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
1
440
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
190
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
930
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
190
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
41
16k
MCPで実現できる、Webサービス利用体験について
syumai
7
2.4k
自作OSでDOOMを動かしてみた
zakki0925224
1
950
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
0
220
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
320
物語を動かす行動"量" #エンジニアニメ
konifar
12
3k
iOS開発スターターキットの作り方
akidon0000
0
240
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
RailsConf 2023
tenderlove
30
1.2k
GitHub's CSS Performance
jonrohan
1031
460k
Fireside Chat
paigeccino
38
3.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
BBQ
matthewcrist
89
9.8k
Building an army of robots
kneath
306
45k
Documentation Writing (for coders)
carmenintech
73
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 ▸ dries.vints@gmail.com ▸ 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!