virtualbox + vagrant + homesteadで、laravel環境構築してみた。

virtualbox + vagrant + homesteadで、laravel環境構築してみた。

意外とやった事なかったので、試しにやってみた。
https://qiita.com/7968/items/97dd634608f37892b18a

virtualbox = 仮想環境。ホストOS(winやmac)の上でゲストOS(linux)を動かせる
vagrant = virtualboxのセットアップツール。osやwebサーバ、mysqlを自動でインストール(環境構築)してくれる
homestead = laravel環境のvagrantfile(仮想環境のイメージ)

1, winのvirtualboxとvagrantをダウンロード&インストール
2, Homestead boxのダウンロード(どこでも良いけど、C:\Users\ユーザ名、で実行した。20分近くかかった!)

3, homesteadのダウンロード(どこでも良いけど、C:\Users\ユーザ名、で実行した。一瞬で終わった!)

4, 初期ファイルを生成

5, SSH鍵を生成
C:\Users\ユーザ名\.sshフォルダに、id_rsaとid_rsa.pubがあれば、それを使う。
無かったら、自分で生成する(ssh-keygen -t rsa)
※上書き注意!!

6, Homestead.yaml(YML形式の設定ファイル)の確認(特に変更なければ、そのままでOK)
IPアドレスの変更(ホストOSとゲストOSが、同じセグメントはダメらしい)
旧) ip: “192.168.10.10”
新) ip: “192.168.30.10”
SSH鍵などのパスが違っていたら変更する。

7, 仮想マシンを起動する。プロンプトが戻ってきたらOK

この時点でブラウザでアクセスできる。

No input file specified.

8, 問題なく起動したら、SSHでログインする
vagrant ssh

9, ブラウザでアクセスできるようにしてみる(Homestead.yamlを参照)
folders:
– map: ~/code
to: /home/vagrant/code

sites:
– map: homestead.test
to: /home/vagrant/code/public

code/pubic/index.phpを生成したら、ブラウザからアクセスできた。
http://192.168.30.10/

windows C:\Users\ユーザ名\code
linux /home/vagrant/code
が自動的に同期を取られる!

10, laravelをダウンロード
cd ~/code
composer create-project laravel/laravel –prefer-dist vagrant_laravel
http://192.168.30.10/vagrant_laravel/public でアクセスできるようになる。

ローカルファイルを修正すれば、自動的に同期が取られるから、便利といえば便利か?
xamppに比べてlinux上で動作するし…。ただ同じネットワーク内からアクセス出来ない。