Laravel Homestead,vagrant,virtualboxでLaravelの仮想環境をつくる(Mac)

シェアする

  • このエントリーをはてなブックマークに追加

Larval Homesteadを使うとLaravel仮想環境が簡単に作れるとのことで。
https://readouble.com/laravel/5.5/ja/homestead.html
出来上がる環境には
・Ubuntu 16.04.2
・PHP7.1.7
・MySQL5.7.19
などが入ってます。(2017/09/10時点)

boxの追加

vagrant box add laravel/homestead

Homesteadのインストール

自分はcomposerいれてないのでgitから入手する方法で。

git clone https://github.com/laravel/homestead.git Homestead

Homesteadディレクトリが生成され中にいろいろ入ってます。

Homestead.yaml設定ファイル生成

cd Homestead/
bash init.sh

Homestead.yaml設定

ホスト側(自分のPC)のディレクトリと仮想環境内でのディレクトリを共有させます。
Homestead/Homestead.yamlといファイルで設定できます。

folders:
    - map: ~/Code
      to: /home/vagrant/Code

デフォルトだと、PC側の~/Codeディレクトリと仮想環境内の/home/vagrant/Codeディレクトリが共有されています。
片方のディレクトリに例えば新規ファイルなどを作成するともう片方にもそのファイルが入るということです。
自分は

folders:
    - map: ~/Homestead/projects
      to: /var/www/html

にしています。

また,sitesも設定します。
自分は’wakeup’というプロジェクトを作ろうとしているのでこのようにしています。

sites:
    - map: wakeup.app
      to: /var/www/html/wakeup/public

これでhttp://192.168.10.10/かwakeup.appにアクセスすると/var/www/html/wakeup/public/index.phpにアクセスされます。

Vagrant boxを起動する

vagrant up

vagrantのバージョンが1.9を超えてないとダメって言われた。
自分のは1.8.1だったので最新版をインストールし直しました。

接続

vagrant ssh

Laravelプロジェクト作成

ここまででLaravelを使う仮想環境が作られました。 そこにLaravelのプロジェクトを作成します。

laravel new プロジェクト名

プロジェクト名のディレクトリが作成され、その下にいろいろファイルが生成されます。
homesteadで環境を作ると最初からlaravelコマンド通ってるし楽ですね。

アクセスしてみる

ブラウザでhttp://192.168.10.10/

すると、

RuntimeException
No application encryption key has been specified.

のエラー。

どうやらこのコマンドを実行していなかったからみたい。

php artisan key:generate

これで完了。

ちなみに、
Homestead.yamlの設定を変更した時は

vagrant up --provision

すると変更が反映されます。