Suche senden
Hochladen
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
•
266 gefällt mir
•
81,710 views
Masashi Shinbara
Folgen
http://www.1x1.jp/blog/2013/09/php-enviroment-with-vagrant.html
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 47
Empfohlen
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Masashi Shinbara
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
Vagrant体験入門
Vagrant体験入門
Masashi Shinbara
Empfohlen
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Masashi Shinbara
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
Vagrant体験入門
Vagrant体験入門
Masashi Shinbara
開発現場で活用するVagrant
開発現場で活用するVagrant
Masashi Shinbara
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
Daijiro Abe
Vagrant入門以前
Vagrant入門以前
katanyan
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
Masashi Shinbara
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Masashi Shinbara
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Ryo Adachi
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築
Nakazawa Yuichi
さくらのインフラコード
さくらのインフラコード
Yukihiko SAWANOBORI
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Hidetoshi Hirokawa
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれから
Takeshi Kuramochi
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
Hideo Takahashi
Vagrant環境のAnsibleを速くしたい
Vagrant環境のAnsibleを速くしたい
Kazuhiro Oinuma
Dockerを使ってみよう
Dockerを使ってみよう
Ryo Adachi
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
ロフト くん
Alpine linuxを触ってみよう
Alpine linuxを触ってみよう
Ryo Adachi
130412 kayac-cinnamon
130412 kayac-cinnamon
Yuki Shibazaki
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
はてなのサービスの開発環境
はてなのサービスの開発環境
ast_j
Weitere ähnliche Inhalte
Was ist angesagt?
開発現場で活用するVagrant
開発現場で活用するVagrant
Masashi Shinbara
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
Daijiro Abe
Vagrant入門以前
Vagrant入門以前
katanyan
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
Masashi Shinbara
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Masashi Shinbara
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Ryo Adachi
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築
Nakazawa Yuichi
さくらのインフラコード
さくらのインフラコード
Yukihiko SAWANOBORI
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Hidetoshi Hirokawa
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれから
Takeshi Kuramochi
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
Hideo Takahashi
Vagrant環境のAnsibleを速くしたい
Vagrant環境のAnsibleを速くしたい
Kazuhiro Oinuma
Dockerを使ってみよう
Dockerを使ってみよう
Ryo Adachi
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
ロフト くん
Alpine linuxを触ってみよう
Alpine linuxを触ってみよう
Ryo Adachi
130412 kayac-cinnamon
130412 kayac-cinnamon
Yuki Shibazaki
Was ist angesagt?
(20)
開発現場で活用するVagrant
開発現場で活用するVagrant
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
Vagrant入門以前
Vagrant入門以前
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築
さくらのインフラコード
さくらのインフラコード
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれから
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
Vagrant環境のAnsibleを速くしたい
Vagrant環境のAnsibleを速くしたい
Dockerを使ってみよう
Dockerを使ってみよう
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
Alpine linuxを触ってみよう
Alpine linuxを触ってみよう
130412 kayac-cinnamon
130412 kayac-cinnamon
Ähnlich wie もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
はてなのサービスの開発環境
はてなのサービスの開発環境
ast_j
Niigata.pm #1
Niigata.pm #1
hayajo Imai
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
Takuma Morikawa
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
Masaki Kobayashi
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrant
Kazuma Kimura
Word bench7月号
Word bench7月号
西村 州平
Haikara
Haikara
jewel12
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Mori Shingo
Hadoop on LXC
Hadoop on LXC
俊夫 森
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
samemoon
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
hbstudy37 doc
hbstudy37 doc
Fujishiro Takuya
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP Nagoya
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
kumachang_LL
Ähnlich wie もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
(20)
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
はてなのサービスの開発環境
はてなのサービスの開発環境
Niigata.pm #1
Niigata.pm #1
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrant
Word bench7月号
Word bench7月号
Haikara
Haikara
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Hadoop on LXC
Hadoop on LXC
恋に落ちるデプロイツール
恋に落ちるデプロイツール
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
hbstudy37 doc
hbstudy37 doc
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
Mehr von Masashi Shinbara
日本語消えたスライド
日本語消えたスライド
Masashi Shinbara
Twilio入門 -Web アプリ編-
Twilio入門 -Web アプリ編-
Masashi Shinbara
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Masashi Shinbara
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
How to learn Laravel5 application from Authentication
How to learn Laravel5 application from Authentication
Masashi Shinbara
PHPコードではなく PHPコードの「書き方」を知る
PHPコードではなく PHPコードの「書き方」を知る
Masashi Shinbara
Laravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログイン
Masashi Shinbara
キャラ立ちしたエンジニアになる!
キャラ立ちしたエンジニアになる!
Masashi Shinbara
Composer 再入門
Composer 再入門
Masashi Shinbara
いまどきのPHP
いまどきのPHP
Masashi Shinbara
PHP 5.5 Zend OPcache
PHP 5.5 Zend OPcache
Masashi Shinbara
サーバの防災訓練
サーバの防災訓練
Masashi Shinbara
Kansai PHP Users Group 2012年活動報告
Kansai PHP Users Group 2012年活動報告
Masashi Shinbara
10分で分かる最近のCakePHP
10分で分かる最近のCakePHP
Masashi Shinbara
Mehr von Masashi Shinbara
(16)
日本語消えたスライド
日本語消えたスライド
Twilio入門 -Web アプリ編-
Twilio入門 -Web アプリ編-
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
How to learn Laravel5 application from Authentication
How to learn Laravel5 application from Authentication
PHPコードではなく PHPコードの「書き方」を知る
PHPコードではなく PHPコードの「書き方」を知る
Laravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログイン
キャラ立ちしたエンジニアになる!
キャラ立ちしたエンジニアになる!
Composer 再入門
Composer 再入門
いまどきのPHP
いまどきのPHP
PHP 5.5 Zend OPcache
PHP 5.5 Zend OPcache
サーバの防災訓練
サーバの防災訓練
Kansai PHP Users Group 2012年活動報告
Kansai PHP Users Group 2012年活動報告
10分で分かる最近のCakePHP
10分で分かる最近のCakePHP
Kürzlich hochgeladen
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
sugiuralab
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Kürzlich hochgeladen
(8)
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
1.
2013/07/17 shin1x1 第7回 関西PHP勉強会 もう XAMPP
/ MAMP はいらない! Vagrant で作る PHP 開発環境
2.
@shin1x1 (c) 2013 Masashi
Shinbara @shin1x1 Shin x blog http://www.1x1.jp/blog/ PHP / DevOps / AWS / Varnish / Fabric / Chef
3.
Agenda (c) 2013 Masashi
Shinbara @shin1x1 • Vagrant とは • Vagrant で作るPHP 開発環境 • Vagrant Tips
4.
Vagrant (c) 2013 Masashi
Shinbara @shin1x1
5.
(c) 2013 Masashi
Shinbara @shin1x1 Web開発あるある
6.
エンジニアSさん (c) 2013 Masashi
Shinbara @shin1x1 • Macbook Air で開発 • Apache / PHP / DB • 複数案件を一台で
7.
エンジニアSさん (c) 2013 Masashi
Shinbara @shin1x1 1162 <VirtualHost *:80> 1163 ServerName candycane.local 1164 DocumentRoot "/Users/shin/sandbox/demo/candycane/app/webroot" 1165 </VirtualHost> 1166 1167 <VirtualHost *:80> 1168 ServerName demo.local 1169 DocumentRoot "/Users/shin/sandbox/demo/20130601_phpcon" 1170 php_value vld.active 1 1171 </VirtualHost> 1172 1173 <VirtualHost *:80> 1174 ServerName project1.local 1175 DocumentRoot "/Users/shin/project1/app/webroot" 1176 </VirtualHost> 1177 1178 <VirtualHost *:80> 1179 ServerName project2.local 1180 DocumentRoot "/Users/shin/project2/app/webroot" 1181 </VirtualHost>
8.
エンジニアSさん (c) 2013 Masashi
Shinbara @shin1x1 1162 <VirtualHost *:80> 1163 ServerName candycane.local 1164 DocumentRoot "/Users/shin/sandbox/demo/candycane/app/webroot" 1165 </VirtualHost> 1166 1167 <VirtualHost *:80> 1168 ServerName demo.local 1169 DocumentRoot "/Users/shin/sandbox/demo/20130601_phpcon" 1170 php_value vld.active 1 1171 </VirtualHost> 1172 1173 <VirtualHost *:80> 1174 ServerName project1.local 1175 DocumentRoot "/Users/shin/project1/app/webroot" 1176 </VirtualHost> 1177 1178 <VirtualHost *:80> 1179 ServerName project2.local 1180 DocumentRoot "/Users/shin/project2/app/webroot" 1181 </VirtualHost> 溢れる VirtualHost
9.
とある開発チームA (c) 2013 Masashi
Shinbara @shin1x1 • チームで開発 • Macbook / Windows で開発 • Apache / PHP / DB
10.
とある開発チームA (c) 2013 Masashi
Shinbara @shin1x1 あれ?動かない。 何か変なコード書いた? こっちは動いてるよ。 拡張追加しないとダメだよ。
11.
とある開発チームA (c) 2013 Masashi
Shinbara @shin1x1 あれ?動かない。 何か変なコード書いた? こっちは動いてるよ。 拡張追加しないとダメだよ。 俺の環境では動く
12.
WebデザイナーBさん (c) 2013 Masashi
Shinbara @shin1x1 • WordPressのデザイン • XAMPPをインストール • でもなんだか動かない。。。
13.
(c) 2013 Masashi
Shinbara @shin1x1 WebデザイナーBさん
14.
(c) 2013 Masashi
Shinbara @shin1x1 WebデザイナーBさん Port 80 は 俺のモノ
15.
そんなあなたに (c) 2013 Masashi
Shinbara @shin1x1
16.
Vagrantなら (c) 2013 Masashi
Shinbara @shin1x1 • プロジェクト毎に独立した環境を構築 • 他人と全く同じ環境を共有 • ホストPCとは分離された環境を構築
17.
Vagrantの構成 (c) 2013 Masashi
Shinbara @shin1x1 •Vagrant •仮想サーバ [ Provider ] (VirtualBox, VMWare, AWS等) •プロビジョニング [ Provisioning ] (Chef, Puppet, ShellScript等)
18.
(c) 2013 Masashi
Shinbara @shin1x1 VM起動 プロビジョニング実行 $ vagrant up Vagrantの構成
19.
(c) 2013 Masashi
Shinbara @shin1x1 VM起動 プロビジョニング実行 $ vagrant up Vagrantの構成
20.
(c) 2013 Masashi
Shinbara @shin1x1 VM起動 プロビジョニング実行 $ vagrant up Vagrantの構成
21.
Vagrant 覚えておきたい用語 (c) 2013
Masashi Shinbara @shin1x1 •Boxファイル => 仮想サーバイメージファイル •Vagrantfile => 仮想サーバ構築設定 •vagrantコマンド => 全ての操作はこのコマンドで
22.
Vagrant 主なコマンド (c) 2013
Masashi Shinbara @shin1x1 • Vagrantfile作成 $ vagrant init [boxファイル名] [boxファイルURL] • 仮想サーバ起動 $ vagrant up • 仮想サーバへ SSH ログイン $ vagrant ssh
23.
vagrant 主なコマンド (c) 2013
Masashi Shinbara @shin1x1 • 仮想サーバシャットダウン $ vagrant halt • 仮想サーバサスペンド $ vagrant suspend • 仮想サーバシャットダウン+破棄 $ vagrant destroy
24.
(c) 2013 Masashi
Shinbara @shin1x1 Vagrantで作る PHP開発環境
25.
サンプルプロジェクト (c) 2013 Masashi
Shinbara @shin1x1 • CakePHPプロジェクト • OSX 上の Vim で開発 • Vagrant + VirtualBox + ShellScript
26.
(c) 2013 Masashi
Shinbara @shin1x1 ファイル構成 $ tree /path/to/project . !"" src # !"" CONTRIBUTING.md # !"" README.md # !"" app # !"" build.properties # !"" build.xml # !"" index.php # !"" lib # !"" plugins # $"" vendors $"" vagrant !"" .gitignore !"" .vagrant $"" Vagrantfile アプリケーション Vagrant Git で管理
27.
(c) 2013 Masashi
Shinbara @shin1x1 $ cd vagrant $ cat .gitignore .vagrant •.vagrant/ は仮想サーバ固有の id が保存されているので git で 管理しない .gitignore
28.
(c) 2013 Masashi
Shinbara @shin1x1 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "centos64_ja" config.vm.network :private_network, ip: "192.168.33.100" config.vm.synced_folder "../src", "/src", :create => true, :owner=> 'vagrant', :group=>'vagrant', :extra => 'dmode=777,fmode=666' $ vim Vagrantfile Vagrantfile
29.
(c) 2013 Masashi
Shinbara @shin1x1 •ホストPCのディレクトリと 仮想サーバのディレクトリを同期 •開発はホストPCで、 実行は仮想サーバで •PhpStormやEclipseで開発可能 synced_folder
30.
(c) 2013 Masashi
Shinbara @shin1x1 config.vm.synced_folder "../src", "/src", :create => true, :owner=> 'vagrant', :group=>'vagrant', :extra => 'dmode=777,fmode=666' •ホストPC: ../src と 仮想サーバ: /src を共有 •仮想サーバに /src が無ければ自動生成 •/src は vagrant を owner / group に •/src 以下のパーミッションは ディレクトリが777、ファイルが666 synced_folder - Vagrantfile
31.
synced_folder 注意点 (c) 2013
Masashi Shinbara @shin1x1 •仮想サーバでの権限変更が反映されない •ホストPCでファイルが多いディレクトリは避ける •仮想サーバでのディスクアクセスは遅い => アプリケーションで大量のディスクIOが 発生する場合は synced_folder 以外の 領域を利用する
32.
(c) 2013 Masashi
Shinbara @shin1x1 provision = <<-"EOS" sudo yum -y update rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius- release-1.0-11.ius.centos6.noarch.rpm yum -y install php54 php54-pdo php54-cli php54-pgsql php54-mbstring php54-mcrypt php54-common php54-pecl-memcache php54-gd php54-xml php54-devel php54-pecl- xdebug php54-pecl-apc yum -y install httpd echo "date.timezone = Asia/Tokyo" >> /etc/php.ini echo "<VirtualHost *:80>" >> /etc/httpd/conf/httpd.conf echo " DocumentRoot /src/app/webroot" >> /etc/httpd/conf/httpd.conf echo "</VirtualHost>" >> /etc/httpd/conf/httpd.conf /sbin/service httpd start /sbin/chkconfig httpd on EOS config.vm.provision :shell, :inline => provision end Vagrantfile synced_folder を document_root に指定
33.
仮想サーバ起動 (c) 2013 Masashi
Shinbara @shin1x1 $ vagrant up $ open http://192.168.33.100/
34.
(c) 2013 Masashi
Shinbara @shin1x1 $ vim app/Config/bootstrap.php $ open http://192.168.33.100/ ホストPCでソース変更
35.
(c) 2013 Masashi
Shinbara @shin1x1 <?php phpinfo(); $ cd ../src/ $ vim app/webroot/info.php ホストPCでファイル追加 $ open http://192.168.33.100/info.php
36.
本格的な開発環境へ (c) 2013 Masashi
Shinbara @shin1x1 •複雑なプロビジョニングは Chef や Puppet で •できるだけプロビジョニングで自動化 => DB構築、初期データ投入、設定ファイル変更 •プロファイリングツールや phpMyAdmin など の管理ツールも一緒に入れると便利
37.
(c) 2013 Masashi
Shinbara @shin1x1 $ git clone http://extemple.com/project $ cd project/vagrant $ vagrant up •環境構築はこれだけ! Vagrantfile が git にあれば
38.
(c) 2013 Masashi
Shinbara @shin1x1 Vagrant Tips
39.
(c) 2013 Masashi
Shinbara @shin1x1 Configuration Version Vagrant::Config.run do |config| .... end • Version1 Vagrant.configure("2") do |config| Vagrant.configure("1") do |config| .... end • Version2 •blog等を見る時は、設定バージョンに注意。 バージョンが異なると動作しないことも。
40.
Sahara Plugin (c) 2013
Masashi Shinbara @shin1x1 • Vagrant Plugin https://github.com/jedi4ever/sahara • 仮想サーバの状態を DB の ROLLBACK のように戻せる
41.
Sahara Plugin (c) 2013
Masashi Shinbara @shin1x1 $ vagrant plugin install sahara • インストール
42.
Sahara Plugin (c) 2013
Masashi Shinbara @shin1x1 $ vagrant sandbox on • sandbox モード開始 = BEGIN; $ vagrant sandbox rollback • 元に戻す = ROLLBACK; $ vagrant sandbox commit • 変更確定 = COMMIT; $ vagrant sandbox off • sandbox モード終了
43.
参考1 (c) 2013 Masashi
Shinbara @shin1x1 http://docs.vagrantup.com/v2/
44.
参考2 (c) 2013 Masashi
Shinbara @shin1x1 http://www.amazon.co.jp/dp/1449335837
45.
参考2 (c) 2013 Masashi
Shinbara @shin1x1 http://www.amazon.co.jp/dp/1449335837
46.
Summary (c) 2013 Masashi
Shinbara @shin1x1 • プロジェクト毎に独立した環境を構築 => プロジェクト毎にVagrantfile • 他人と全く同じ環境を共有 => Boxファイル、Vagrantfileを共有 • ホストPCとは分離された環境を構築 => 開発はホストPC、実行は仮想マシン
47.
@shin1x1 (c) 2013 Masashi
Shinbara @shin1x1