Laravel 開発環境の構築 ( VirtualBox + Vagrant + Homestead + Composer + Eclipse ) 第1回 -後編-

# **はじめに**
Laravel 公式で提供されている Homestead と Vagrant box を利用し, ホストOS ( Windows7 ) 上に Laravel の開発環境を構築する手順をまとめています。

* [第1回 -前編-](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741 "第1回 -前編-")
 * [第01章 事前準備](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741#%E7%AC%AC01%E7%AB%A0-%E4%BA%8B%E5%89%8D%E6%BA%96%E5%82%99 "第01章 事前準備")
 * [第02章 Laravel 開発環境の構築](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741#%E7%AC%AC02%E7%AB%A0-laravel-%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89 "第02章 Laravel 開発環境の構築")
* 第1回 -後編-
 * [第03章 複数の Laravel プロジェクトに対応 ( サブドメイン利用 )](https://qiita.com/slangsoft/items/380fccbac323fd034530#%E7%AC%AC03%E7%AB%A0-%E8%A4%87%E6%95%B0%E3%81%AE-laravel-%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E5%AF%BE%E5%BF%9C--%E3%82%B5%E3%83%96%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E5%88%A9%E7%94%A8- "第03章 複数の Laravel プロジェクトに対応 ( サブドメイン利用 )")
 * [参考サイト紹介](https://qiita.com/slangsoft/items/380fccbac323fd034530#%E5%8F%82%E8%80%83%E3%82%B5%E3%82%A4%E3%83%88%E7%B4%B9%E4%BB%8B "参考サイト紹介")
* [第2回](https://qiita.com/slangsoft/items/18ec6d9067d642c5cb74 "Laravel 開発環境の構築 ( VirtualBox + Vagrant + Homestead + Composer + Eclipse ) 第2回")
 * [Laravel 開発環境の構築 ( PHP5.6 + PHP7.0 + PHP7.1 )](https://qiita.com/slangsoft/items/18ec6d9067d642c5cb74#laravel-%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89--php56--php70--php71- "Laravel 開発環境の構築 ( PHP5.6 + PHP7.0 + PHP7.1 )")
* [第3回](https://qiita.com/slangsoft/items/59369286d32d7d2760f6 "Laravel 開発環境の構築 ( VirtualBox + Vagrant + Homestead + Composer + Eclipse ) 第3回")
 * [Eclipse で Laravel の入力補完が効くようにする ( laravel-ide-helper )](https://qiita.com/slangsoft/items/59369286d32d7d2760f6#eclipse-%E3%81%A7-laravel-%E3%81%AE%E5%85%A5%E5%8A%9B%E8%A3%9C%E5%AE%8C%E3%81%8C%E5%8A%B9%E3%81%8F%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B "Eclipse で Laravel の入力補完が効くようにする ( laravel-ide-helper )")

# **前提条件**
この記事は [第1回](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741 "Laravel 開発環境の構築 ( VirtualBox + Vagrant + Homestead + Composer + Eclipse ) 第1回") の後編です。前編の内容が前提となっていますので, これらの記事をご覧になっていない方は事前にご確認ください。
この記事を書いた時点での環境と各ソフトのバージョンは下表の通りです。

|OS|Git for Windows|VirtualBox|Vagrant|
|:--|:--|:--|:--|
|Windows7 Professional SP1 64bit|2.15.0|5.2.0 r118431|2.0.1|

# **第03章 複数の Laravel プロジェクトに対応 ( サブドメイン利用 )**
[第02章](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741#%E7%AC%AC02%E7%AB%A0-laravel-%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89 "第02章 Laravel 開発環境の構築") の [Step8](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741#step08-laravel-%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%A1%A8%E7%A4%BA "Step.08 Laravel ページの表示") で, ドメインで Laravel プロジェクトにアクセスする方法を試しました。今度は, 複数サイトに対応するためにサブドメインでもアクセスできるようにしてみます。

まずは仮想マシンを起動しましょう。ターミナルで Vagrantfile があるディレクトリ ( 今回の場合は [ Homestead ] ) に移動してから下記のコマンドを実行します。

```txt:ターミナル
slangsoft@win7 MINGW64 ~
$ cd ~/LaravelProjects/Homestead/  <-- 入力 : Vagrantfile があるディレクトリに移動

slangsoft@win7 MINGW64 ~/LaravelProjects/Homestead (master)
$ vagrant up  <-- 入力 : 仮想マシンの起動
```

次に, 仮想マシンに SSH でログインし, Composer を利用して Laravel ファイルをダウンロードします。ダウンロードの方法は [第02章](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741#%E7%AC%AC02%E7%AB%A0-laravel-%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89 "第02章 Laravel 開発環境の構築") の [Step.07](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741#step07-%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E4%B8%8A%E3%81%A7-composer-%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6-laravel-%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89 "Step.07 仮想マシン上で Composer を利用して Laravel ファイルをダウンロード") で説明しましたので, ここでは簡単に説明します。

今回は [ TestProject2 ] ディレクトリに Laravel をダウンロードします。

```txt:RLogin
vagrant@homestead:~$ cd ./code  <-- 入力 : [ code ] ディレクトリに移動
vagrant@homestead:~/code$ composer create-project laravel/laravel --prefer-dist TestProject2  <-- 入力 : [ TestProject2 ] ディレクトリに Laravel をダウンロード
```

ダウンロードが完了したら, Windows7 のエクスプローラーを使用して下記ディレクトリを開き, [ TestProject2 ] ディレクトリが作成されていることを確認してください。

```txt:ディレクトリ
C:\Users\ユーザー名\LaravelProjects
```

次に, [ Homestead.yaml ] の [ sites: ] に設定を追加します。

```yaml:Homestead.yamlから抜粋
sites:
    - map: homestead.test
      to: /home/vagrant/code/TestProject/public
    - map: myapp.homestead.test                   <-- この行を追加
      to: /home/vagrant/code/TestProject2/public  <-- この行を追加
```

設定を追加したら, その設定内容を再読み込みさせる必要があります。ターミナル ( Git Bash ) で Vagrantfile があるディレクトリ ( 今回の場合は [ Homestead ] ) に移動してから下記のコマンドを実行します。

```txt:ターミナル
slangsoft@win7 MINGW64 ~
$ cd ~/LaravelProjects/Homestead/  <-- 入力 : Vagrantfile があるディレクトリに移動

slangsoft@win7 MINGW64 ~/LaravelProjects/Homestead (master)
$ vagrant provision  <-- 入力 : 設定ファイルの再読み込み
```

続けて, hosts ファイルに追加したサイトの設定を追加します。

メモ帳を管理者権限で起動します。
[ ファイル(F) ] → [ 開く(O)... ] を実行し, [ ファイル名(N): ] 欄に下記のファイル名を入力して [ 開く(O) ] ボタンをクリックします。

```txt:hostsファイル名
C:\Windows\System32\drivers\etc\hosts
```

hosts ファイルの最終行に下記を追記し, 上書き保存してメモ帳を閉じます。

```txt:hostsファイルに追加する設定
192.168.10.10 homestead.test
192.168.10.10 myapp.homestead.test  <-- この行を追加
```

今度はブラウザから [ http://myapp.homestead.test ] にアクセスしてみてください。[第02章](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741#%E7%AC%AC02%E7%AB%A0-laravel-%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89 "第02章 Laravel 開発環境の構築") の [Step8](https://qiita.com/slangsoft/items/21e5cc5015ff71e2f741#step08-laravel-%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%A1%A8%E7%A4%BA "Step.08 Laravel ページの表示") と同じ画面が表示されれば成功です。
![LaravelWebPage_03.png](https://qiita-image-store.s3.amazonaws.com/0/65765/169e9098-00ba-6a89-e549-435caeac2512.png)

ただ, これでは [ http://homestead.test ] の内容が表示されているのか [ http://myapp.homestead.test ] の内容が表示されているのか判断できないため, サブドメインでアクセスした時に表示される内容を変更してみましょう。

Windows7 のエクスプローラーを使用して下記ディレクトリを開き, その中にあるwelcome.blade.php をテキストエディタで開きます。

```txt:ディレクトリ
C:\Users\[ユーザー名]\LaravelProjects\TestProject2\resources\views
```

試しに, タブに表示されるタイトルを変更してみます。

```html+php:welcome.blade.php
<!doctype html>
<html lang="{{ app()->getLocale() }}">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>TestProject2</title>  <-- ここを Laravel から TestProject2 に変更
```

では, もう一度 [ http://myapp.homestead.test ] にアクセスしてみましょう。タブに表示されているサイトのタイトルが [ TestProject2 ] に変わっています。
![LaravelWebPage_04.png](https://qiita-image-store.s3.amazonaws.com/0/65765/41055e20-84ab-58d3-9db7-103231eeab71.png)

念のために [ http://homestead.test ] にもアクセスして, こちらのタイトルは [ Laravel ] のままであることを確認しておきましょう。
![LaravelWebPage_02.png](https://qiita-image-store.s3.amazonaws.com/0/65765/84d0bab0-7d1c-25fe-5eda-ec0ab9c64563.png)

# **参考サイト紹介**
* [Laravel超入門 開発環境の構築 (VirtualBox + Vagrant + Homestead + Composer)](https://qiita.com/7968/items/97dd634608f37892b18a "【Laravel超入門】開発環境の構築 (VirtualBox + Vagrant + Homestead + Composer)")
* [ララ帳](https://laravel10.wordpress.com/ "ララ帳")
* [Laravel on Eclipse](https://qiita.com/satoshi-minowa/items/72206eeec82d811b8ffd "Laravel on Eclipse")
* [Eclipse + PHP開発環境の構築 ~PDTプラグインのインストール~](http://proengineer.internous.co.jp/content/columnfeature/5381 "Eclipse + PHP開発環境の構築 ~PDTプラグインのインストール~")
* [windows10で、Git Bashを立ち上げたときの、デフォルトディレクトリについて](https://teratail.com/questions/21555 "windows10で、Git Bashを立ち上げたときの、デフォルトディレクトリについて")
* [Eclipse 4.7 Oxygen 新機能 30+ / Java 9 を試そう！](https://qiita.com/cypher256/items/e308d920dfaf15892baa "Eclipse 4.7 Oxygen 新機能 30+ / Java 9 を試そう！")