# MAMPでLaravel環境セットアップ手順 > 作成日: 2022/05/11 > 作成者: 桑名拓也 [toc] --- ## MAMPのインストール [Downloads - MAMP & MAMP PRO](https://www.mamp.info/en/downloads/) 上記より環境にあったアプリをダウンロードする。 ## MAMPのPHPにパスを通す 使ってるシェルが `zsh` なら `~/.zprofile`に、 `bash` なら `~/.bash_profile` に以下追記。(ちなみにLaravel5系を使う場合PHP7じゃないと動かないので注意) ```bash export PATH="$PATH:/Applications/MAMP/bin/php/php7.4.21/bin" ``` 以下コマンドで設定を反映させる。 ```bash source ~/.zprofile # or source ~/.bash_profile ``` php が使えることを確認。 ```bash php -v PHP 7.4.21 (cli) (built: Apr 15 2022 10:20:43) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.18, Copyright (c) Zend Technologies ``` ## composer をインストールする ```bash php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ``` ```bash sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.1.6 ``` 確認。 ```bash composer -V Composer version 2.1.6 2021-08-19 17:11:08 ``` ## Laravelプロジェクトを立ち上げる MAMPのドキュメントルート `htdocs` 内にLaravelをインストールする。 ```bash cd /Application/MAMP/htdocs ``` ```bash composer create-project --prefer-dist laravel/laravel laravelapp "5.8.*" ``` ブラウザで http://localhost:8888/laravelapp/public を確認してLaravelの画面が表示されていれば成功。 ## バーチャルホストの設定をする プロジェクトルートが http://localhost:8888/laravelapp/public の様にドメイン直下じゃないことで相対パス周りの問題が発生する。 バーチャルホスト機能により仮想のドメイン名でアクセスできるようにする。 ### ① httpd.conf でバーチャルホストを有効に設定 ```bash cd /Applicatoin/MAMP/conf/apache ``` ```bash vim httpd.conf # もしくはVSCode等エディタで開く ``` `vhosts` で検索して先頭の `#` を消して保存する。 ```diff # Virtual hosts -#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf +Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf ``` ### ② プロジェクトとバーチャルホスト名を関連付ける 次に、`httpd-vhosts.conf` というファイルを編集する。 ```bash cd /Applications/MAMP/conf/apache/extra ``` ```bash vim httpd-vhosts.conf # もしくはVSCode等エディタで開く ``` 以下をファイルの一番下に追記する。 ```conf <VirtualHost *:80> DocumentRoot "/Applications/MAMP/htdocs/laravelapp/public" ServerName laravelapp.local ErrorLog "/Applications/MAMP/logs/laravelapp.local" </VirtualHost> ``` (laravelappというプロジェクトを `laravelapp.local` というドメインでアクセスできるようにする設定) ここで一旦MAMPのサーバーを停止させ、再度スタートさせる。 ### ③ hosts でホストをローカルに向ける `laravelapp.local` というドメイン名をブラウザに入力したとき、インターネット上のドメイン名検索サーバー(DNS)に問い合わせをする。当然そんなドメインはないのでアクセス不可となる。 自作ドメインをDNSに問い合わせる前にローカルで名前解決するために hosts の設定が必要になる。(以下手順) ```bash sudo vim /etc/hosts # 管理者権限でファイルを開く(ここはvimで開く) ``` 一番下の行に以下追加。 ```hosts 127.0.0.1 laravelapp.local ``` `:wq` で保存して終了。 http://laravelapp.local にアクセスできることを確認。 ## .htaccess を有効にする httpd.confを編集。 Laravel は全てのリクエストを `public/index.php` を起点として処理する作りになっている。リクエストを操作するために `public/.htaccess` というファイルがあるが、apacheの設定でそれを有効化しておく必要がある。 `<Directory />` から始まる部分を探し、`AllowOverride` の値を **`All`** に設定することで `.htaccess` が有効になる。 ```diff <Directory /> Options Indexes FollowSymLinks - AllowOverride None + AllowOverride All </Directory> ``` --- 以上