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分近くかかった!)
1 |
vagrant box add laravel/homestead |
3, homesteadのダウンロード(どこでも良いけど、C:\Users\ユーザ名、で実行した。一瞬で終わった!)
1 |
git clone https://github.com/laravel/homestead.git Homestead |
4, 初期ファイルを生成
1 2 3 4 5 6 |
cd Homestead Homestead>init.bat 1 個のファイルをコピーしました。 1 個のファイルをコピーしました。 1 個のファイルをコピーしました。 Homestead initialized! |
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
1 2 |
cd C:\Users\ユーザ名\Homestead vagrant up |
この時点でブラウザでアクセスできる。
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上で動作するし…。ただ同じネットワーク内からアクセス出来ない。