前置き
LaravelをMacに入れようとして、PHPのバージョンやMySQLを調整していたら、バグがひどくなってきて既存の開発環境を壊しかねなかったので、Vagrantを使って、環境を分けることにしました。
laravel/homestead
laravelにはlaravel/homesteadという便利なboxが既にあって、公式で取り上げられているのでこれをつかいます
問題
laravel/homesteadの最新はv0.6.0で、PHPは7を使っています。詳しい情報をたどるのは結構手間ですが、この辺から、バージョンを遡ってみたりしいきました。
PHPは5.6を使いたいので、v0.3.3を使う必要があります。
$ vagrant box add laravel/homestead --box-version 0.3.3 # とにかく時間がかかるのでひたすら待ちます
==> box: Loading metadata for box 'laravel/homestead'
box: URL: https://atlas.hashicorp.com/laravel/homestead
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.
1) virtualbox
2) vmware_desktop
Enter your choice: 1
==> box: Adding box 'laravel/homestead' (v0.3.3) for provider: virtualbox
box: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.3.3/providers/virtualbox.box
==> box: Successfully added box 'laravel/homestead' (v0.3.3) for 'virtualbox'!
$ vagrant box list | grep homestead
laravel/homestead (virtualbox, 0.3.3)
Install
Download
githubからcloneするなら
$ git clone https://github.com/laravel/homestead.git Homestead
もしくは以下からダウンロード
https://github.com/laravel/homestead/releases
Create Homestead.yaml
$ bash init.sh
~/.homestead
以下にできます
Vagrant立ち上げ
Homestead.yamlをいい感じに設定
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Homestead
to: /home/vagrant/Code
type: "nfs"
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
# blackfire:
# - id: foo
# token: bar
# client-id: foo
# client-token: bar
# ports:
# - send: 93000
# to: 9300
# - send: 7777
# to: 777
# protocol: udp
homestead.yamlにbox versionを記述
provider: virtualbox
version: "0.3.3"
/etc/hosts
192.168.10.10 homestead.app
vagrant up
$ vagrant up
アクセス