[2021年版] MAMPでLaravelのローカル開発環境を作る（Dockerはあとで覚えたい人向け）


## 前提
### MAMPとは
LAMP構成のローカル開発環境を簡単に用意できるソフト。
Dockerよりも簡単。

### Docker使ったほうがいいんだよね？
シビアなバージョン管理が求められる実務であればそうですが、
PHPとMySQL構成の場合、事実上、バージョンが違っても問題ないことが多いです。

MAMPは、現状、`PHP 7.3.27, 7.4.16 & 8.0.3`、`MySQL 5.7.32`が使用されており、
実務でも広く採用されているものなので、学習・個人開発・バージョンが未定の新規プロジェクトなど、
MAMPでやっても特に困ることがない場合が多いです。

一方、Dockerは学習コストがまぁまぁ高いので、インフラをカバーできる人材にいち早くなりたいわけでない場合、
MAMPとLaravelでさっさと作りたいものを作ってしまうのも一つの選択かと。

## MAMPでLaravelを動かす手順
### STEP0:Laravelプロジェクトを初期化する
まず、Laravelプロジェクトを初期化しておきましょう。
Laravelのプロジェクト作成には、composerが使われます。

Composerがインストールされていない場合は、下記の記事を参考にしてください。
mac
https://qiita.com/shosho/items/572b3c356fc97214790b
windows
https://qiita.com/mikoski01/items/266469535e860312145d

```bash
# composerがインストールされているか確認
composer -V
Composer version 2.0.11 2021-02-24 14:57:23 # 左のようなテキストが帰ってくればOK

# Laravelプロジェクトを初期化（今回は6系で、`mamp-de-laravel`フォルダを指定）
composer create-project "laravel/laravel=6.*" mamp-de-laravel
...
Application key set successfully. # このメッセージがでればOK

# パーミッションを変えておきましょう。
cd mamp-de-laravel
chmod -R 777 storage bootstrap/cache
```

### STEP1:MAMPをダウンロードしてインストール
こちらから、OSにあったバージョンをダウンロード＆インストールしましょう。
[MAMP \- Your local web development solution](https://www.mamp.info/en/mamp)
![スクリーンショット 2021-07-23 13.33.08.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/b17c1b2a-43f1-b8cf-99cb-05cf68c34184.jpeg)

### STEP2:MAMPのルートディレクトリをLaravelのPublicフォルダに指定
#### STEP2-1:`Preferences`をクリック
![スクリーンショット 2021-07-23 14.07.04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/0f0220b8-fbc1-aa64-3151-33615264ac13.jpeg)

#### STEP2-2:`Server`➔`Choose...`から`[create-projectしたフォルダ]/mamp-de-laravel/public`を指定

![スクリーンショット 2021-07-23 14.09.57.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/bad2d700-beea-975f-1a14-7767b6b02b35.jpeg)

### STEP3:MAMPをスタートして、ブラウザで`localhost:8888`にアクセス
![スクリーンショット 2021-07-23 14.15.01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/a5926d53-40a7-033d-c996-d82324ce6ce2.jpeg)

この時点で、下記のようなLaravelの初期画面が表示されますが、MySQLデータベースが使える状態になっていないので、その設定をしましょう。
![スクリーンショット 2021-07-23 14.18.10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/5432a8b3-c602-5f7c-cc8c-2e7f306202b4.jpeg)

### STEP4:MAMPに入っているphpMyAdminで、Laravelで使うDBを作成
#### STEP4-1:WebStartを押す。
![スクリーンショット 2021-07-23 14.21.39.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/210eab74-15dc-a239-d5a7-8eea81aa2ca6.jpeg)

#### STEP4-2:ブラウザで表示された画面から、`TOOLS`➔`phpMyAdmin`を選択
![スクリーンショット 2021-07-23 14.27.40.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/dff597ed-8f03-c374-10ab-7519e750a883.jpeg)

#### STEP4-3:新規作成・DB名を入力・作成をクリック
![スクリーンショット 2021-07-23 14.31.31.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/ebe39e58-346d-382f-afe1-4945086c455c.jpeg)

### STEP5:`.env`ファイルをMAMP用に編集し、`php artisan migrate`で確認
#### STEP5-1:`WebStart`で表示される画面からMySQLの設定を確認する。
![スクリーンショット 2021-07-23 14.36.33.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/a6177d06-fa96-c3cf-9bef-289c8e4fcb0b.jpeg)
※ Windowsの場合、設定値が若干異なります。

#### STEP5-2:`[create-projectしたフォルダ]/mamp-de-laravel/.env`ファイルを編集する
```bash
#編集前
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

#編集後
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
```
※ Windowsの場合、設定値が若干異なります。

#### STEP5-3:`php artisan migrate`を実行
```bash
cd 【create-projectしたフォルダ】/mamp-de-laravel
php artisan migrate
```
こんな感じに表示されればOK！
![スクリーンショット 2021-07-23 14.48.14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888169/3c4fe840-96db-4ec3-9dfc-c8eeac453281.jpeg)

## おわりに
Laravel開発を楽しみましょう！