【Laravel】VirtualBox+Vagrantで環境構築

こんにちは！！
PHPの始めることになりました！
使用するフレームワークがLaravelです
VirtualBox+Vagrantを使って環境構築したので
今回はVirtualBox+Vagrantを使ってLaravelの環境構築のやり方についてまとめました！！
#やること
ゼロからlaravel-projectという名前のアプリケーションを作ることにします！
内容は、、
まず、VirtualBox+Vagrantを使ってLaravelの環境構築をします。
その後、laravel-projectという名前のアプリケーションを作ります！
**それでは始めましょう！！**
#前提
前提条件が以下になります
ホストOS
　　macOS(Mojave)
使用するツール
　　virtual box
　　　　仮想環境を作成するツール
　　vagrant
　　　　仮想環境を操作するツール

#仮想環境を構築しましょう
それでは仮想環境を構築していきましょう
##VirtualBox、Vagrantのインストール
下記の公式サイトからVirtualBox、Vagrantダウンロードしてください
ダウンロード後は指示に従いインストールしてください
**VirtualBox　公式サイト**
　　https://www.virtualbox.org/wiki/Downloads
**Vagrant　公式サイト**
　　https://www.vagrantup.com/
インストール終了後、PCを再起動してください

##Homesteadを追加します
Vagrant boxのlaravel/homesteadを追加します
仮想マシンのOSの種類を追加するイメージです

ちなみに、laravel/homesteadの他にubuntuやCentOsなどがあります
公式サイトから追加可能なboxを見ることができます
興味ある方は他のboxも追加してみてください！

```:ターミナル
$ vagrant box add laravel/homestead
```

追加されたboxは`vagrant box list`で確認できます

```:ターミナル　実行結果（例）
$ vagrant box list
laravel/homestead (virtualbox, 8.2.1)   ←これが表示されればOKです！
ubuntu/bionic64   (virtualbox, 20190705.0.0)
```

##Homesteadの設定
###Homesteadの取得
Homesteadの設定に必要なファイルをgitで取ってきます
ついでにvagrantで使用する共有ファイル（`laravel`好きな名前でOK）も作成します
共有ファイルについては後ほど説明します

```:ターミナル
$ mkdir laravel
$ cd laravel
$ git clone https://github.com/laravel/homestead.git Homestead
$ cd Homestead
$ bash init.sh
```

###Homestead.yamlの編集
Homestead.yamlの一部を下記のように編集します

```:Homestead.yaml（変更前）
folders:
    - map: ~/Code
      to: /home/vagrant/Code
```

**変更前の意味**
　　ホストOS上の`~/Code`ディレクトリを
　　Vagrant上で`/home/vagrant/Code`ディレクトリとして扱う

```:Homestead.yaml（変更後）
folders:
    - map: ~/Desktop/laravel
      to: /home/vagrant/Code
```

**変更後の意味**
　　ホストOS上の`~/Desktop/laravel`ディレクトリを
　　Vagrant上で`/home/vagrant/Code`ディレクトリとして扱う

##仮想環境の立ち上げ
vagrantを立ち上げ、接続しましょう

```:ターミナル
$ cd ~/Desktop/laravel/Homestead
$ vagrant up
$ vagrant ssh
```

接続後、下記が表示されれば完了です

```
 _                               _                 _ 
| |                             | |               | |
| |__   ___  _ __ ___   ___  ___| |_ ___  __ _  __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | |  __/\__ \ ||  __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|


```



#vagrant上でLaravelのアプリケーションの作成
Laravelのアプリケーションを作っていきましょう

##composerをダウンロードする

```:ターミナル
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
```

`composer.phar`ができれば完了です

composerが導入できているか確認しましょう

```:ターミナル　実行結果
$ composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.9.1 2019-11-01 17:20:17
```


##プロジェクトを作成しよう
下記がプロジェクトの作成コマンドです
`laravel-project`の部分を好きなアプリ名に変更してください

```:ターミナル
composer create-project laravel/laravel laravel-project --prefer-dist
```

##サーバーを立ち上げよう
下記がphpサーバーを立ち上げるコマンドです

```:ターミナル
php artisan serve
```

サーバーが立ち上がっているか確認しましょう
[http://192.168.10.10](http://192.168.10.10)をクリックして確認してください


以上で、ゼロからlaravel-projectという名前のアプリケーションを作成完了です！！

#参考記事
Laravel公式サイト
https://readouble.com/laravel/

mac+VirtualBox+Vagrant with HomesteadでLaravel
https://vamola.info/programming/mac-laravel/


**疑問、気になるところがございましたら、質問、コメントよろしくお願いします！！！**