★【Laravel】 /etc/hostsで複数プロジェクトを扱う。

[1] /etc/hostsを書き換える

$ sudo vim /etc/hosts

(1行追記)
192.168.10.20 sixth.app

名前解決をする際に、macOSでは
[順序1] /etc/hosts
[順序2] DNSサーバ

という順序で見に行くので、
先に、192.168.10.20にヒットし、
仮想マシンのローカルIPにたどり着かせることができる。

保存して、DNSをフラッシュします
$ dscacheutil -flushcache

http://recipes.laravel.jp/recipe/156

[2] boxのダウンロード

$ vagrant box add laravel/homestead

[3] Homestead.yamlの変更

ローカルIPでゲストマシンのポートにアクセスできるが、
ゲストマシンのどのドメインに来た時に、
どのディレクトリを参照するかを指定してあげないといけない。

# 共有フォルダ (リアルタイム同期)
folders:
   - map: ~/projects/laravel_projects
     to: /home/vagrant/laravel_projects

# ドメインとドキュメントルート
sites:
   # 1個目のアプリ
     - map: first.app 
     to: /home/vagrant/laravel_projects/first/public

# 2個目のアプリ
    - map: second.app
      to: "/home/vagrant/laravel_projects/second/public"

databases:
    - first_dev
    - second_dev

[4] プロビジョニング

$ vagrant up --provision
   (または $ vagrant provision)

プロビジョニングの様子

(中略)
$ vagrant up --provision
Bringing machine 'homestead_2nd' up with 'virtualbox' provider...
==> homestead_2nd: Checking if box 'laravel/homestead' version '9.2.0' is up to date...
==> homestead_2nd: Running provisioner: file...
    homestead_2nd: /Users/tanoshika/VMstore/Homestead_2/aliases => /tmp/bash_aliases
(中略)
==> homestead_2nd: Running provisioner: Creating Certificate: sixth.app (shell)...
    homestead_2nd: Running: script: Creating Certificate: sixth.app
==> homestead_2nd: Running provisioner: Creating Site: sixth.app (shell)...
    homestead_2nd: Running: script: Creating Site: sixth.app
(中略)
==> homestead_2nd: Running provisioner: Clear Variables (shell)...
    homestead_2nd: Running: script: Clear Variables
==> homestead_2nd: Running provisioner: Restarting Cron (shell)...
    homestead_2nd: Running: script: Restarting Cron
==> homestead_2nd: Running provisioner: Restarting Nginx (shell)...
    homestead_2nd: Running: script: Restarting Nginx
(中略)
==> homestead_2nd: Running provisioner: Creating MySQL Database: allgraft_dev (shell)...
    homestead_2nd: Running: script: Creating MySQL Database: sixth_dev
==> homestead_2nd: Running provisioner: Creating Postgres Database: allgraft_dev (shell)...
    homestead_2nd: Running: script: Creating Postgres Database: sixth_dev
==> homestead_2nd: Running provisioner: Update Composer (shell)...
    homestead_2nd: Running: script: Update Composer
    homestead_2nd: Updating to version 1.10.6 (stable channel).
    homestead_2nd:    
    homestead_2nd: Use composer self-update --rollback to return to version 1.9.3

[5] Homesteadマシン内にて、Laravelのバージョンを指定して生成

$ composer create-project "laravel/laravel=5.5.*" --prefer-dist sixth