見出し画像

MAMPを使った開発環境の作成 #Laravelの教科書 #開発環境の準備

はじめに

LaravelはPHPのbuilt-inサーバー機能を使ったローカル開発用のサーバー機能があり特に何か追加のプロダクトを入れなくても開発を進めることができます。

ローカルサーバーを起動するには次のコマンドを実行するだけで完了します。

php artisan serve

開発環境はそちらを利用したとしても、実際に公開する場合はApacheやNginxなどを利用することが多いため、いざ公開となったタイミングでローカルサーバーとの環境の違いでトラブルが発生する可能性もあります。

トラブルを避けるために、公開環境に極力近づけた開発環境を構築する必要が出てきます。

その際に使われる便利なプロダクトとしてMAMPがあります。

スクリーンショット 2020-06-02 16.43.24

MAMPはMac Apache MySQL PHPの頭文字を取ったソフトウェアです。WordPressを動かすためにもよく使われます。

# MAMPのインストール

MAMPのダウンロードページからMAMP&MAMP Proを選択します。

「MAMP_MAMP_PRO_5.7.pkg」ファイルがダウンロードされますので、インストーラーのウィザードに従ってインストールを進めてください。

スクリーンショット 2020-06-02 16.45.55

# MAMPの起動

インストールが完了すると。アプリケーションにMAMPフォルダとMAMP Pro.appが追加されています。

スクリーンショット 2020-06-02 16.49.12

こちらのMAMP Proは様々な機能の追加された有料のソフトウェアです。無くても良いので、削除しても大丈夫です。(残っているとProへの誘導のポップアップが表示されます)

MAMPフォルダを開くと色々なフォルダが表示されます。

スクリーンショット 2020-06-02 16.50.51

このアプリケーションの中にあるMAMPフォルダは設定ファイルなどもあり、非常に重要な場所です。

後ほどターミナルで開く操作でも詳しく説明します。

MAMPを起動するためにMAMPフォルダの中にある「MAMP.app」をダブルクリックで開きます。

スクリーンショット 2020-06-02 16.54.47

起動後「Start Servers」を押すとMAMPが起動します。

右上のApache Server、MySQL Serverの横のシグナルが緑になり、MAMPのスタートページが表示されます。

スクリーンショット 2020-06-02 16.55.16


# Hello MAMP!の実行

MAMPの中にPHPプログラムを設置して動作の確認をしましょう。

先程のMAMPフォルダの中にあるhtdocsというフォルダをVisual Studio Codeで開いて、test.phpファイルを作成します。

スクリーンショット 2020-06-02 17.02.51

test.php

<?php
echo "Hello MAMP PHP";

ファイルを保存したらブラウザから「http://localhost:8888/test.php」を開いてください。

ブラウザに「Hello MAMP PHP」と表示されていれば成功です。

スクリーンショット 2020-06-02 17.03.58

このようにhtdocsに置いたファイルはそのままMAMPのApacheで実行されます。フォルダ構造がそのままURLになる点にご注意ください。

/Application/MAMP/htdocs/test.php

http://localhost:8888/test.php
/Application/MAMP/htdocs/test/dir1/dir2/dir3/test.php

http://localhost:8888/dir1/dir2/dir3/test.php


# phpMyAdminの起動とデーターベースの作成

データーベースを操作するためにphpMyAdminを起動します。

phpMyAdminはスタートページのナビゲーションメニューのTOOLの中にあるPHPMYADMINメニューをクリックすることで起動できます。

スクリーンショット 2020-06-02 16.56.07


必要な方は日本語に変更してください。画面中央に表示されているAppearance SettingsのLanguageを日本語に変更して日本語に切り替えましょう。

スクリーンショット 2020-06-02 16.58.52


つづいて、Laravelのサンプルプロジェクトのためのデーターベースを作成しましょう。

左側メニューの「新規作成(New)」を押すとデーターベース作成画面が表示されます。

スクリーンショット 2020-06-02 16.59.50

データーベース名に「laravel_sample」と入力して作成を押すと、データーベース「laravel_sample」が作成されます。


# PATHの設定

MacにはPHPが元から入っているため、MAMPにインストールされたPHPとバージョンの差が発生することがあります。

そのためにPATHの設定を行う必要があります。

パスの設定はターミナルを利用します。

Visual Studio Codeのターミナルの利用はこちらを参考にしてください


まずはPHPのパスを確認します。

MAMPには複数のPHPがインストールされています。

MAMPフォルダを開いて、bin -> phpと開くと複数のバージョンがあることがわかります。

スクリーンショット 2020-06-02 17.21.49

数字が一番大きいものが最新なので、ここではphp7.4.2を利用します。

php7.4.2フォルダを開いてbinフォルダのパスを確認してください

/Applications/MAMP/bin/php/php7.4.2/bin/php

では、パスの設定を行います。パスの設定を行うためにターミナルを起動して、次のように入力してください。

cd ~/
code .zprofile

こちらで.zprofileファイルをVisual Studio Codeで開くことが出来ます。
(Mac OS 10.15 Catalina未満の場合は.bash_profileです)


.zprofileに次のコードを記載してください。

export PATH=/Applications/MAMP/bin/php/php7.4.2/bin:$PATH

保存したらターミナルに戻って次のコマンドを入力してください

source .zprofile
php -v

PHPのバージョンが7.4.2になっていれば成功です。

スクリーンショット 2020-06-02 17.26.32


# Laravelのプロジェクトをhtdocsに作成する

それではLaravelのプロジェクトをhtdocsの中に作ってみましょう。今回はmamp_laravel_sampleというプロジェクトを作成します。

プロジェクトの作成はomposer create-projectコマンドを利用します。わからない方はこちらの記事をご確認ください。


まずはターミナルを起動します。起動後、MAMPのhtdocsに移動し、composer create-projectを実行します。

cd /Applications/MAMP/htdocs
composer create-project --prefer-dist laravel/laravel mamp_laravel_sample

これでhtdocsの中にmamp_laravel_sampleフォルダが作成されました。


Laravelのプロジェクトはpublicフォルダを開く必要があるので、パスとURLは次のような関係になります。

/Applications/MAMP/htdocs/mamp_laravel_sample/public

http://localhost:8888/mamp_laravel_sample/public

ブラウザで「http://localhost:8888/mamp_laravel_sample/public」を開いてLaravelのページが表示されていればOKです。


# MAMPのMySQLに接続する

Laravelのプロジェクトから先程作成したlaravel_sampleデーターベースに接続します。

MAMPのMySQLの接続情報はスターターページの下の方に書かれています。

スクリーンショット 2020-06-02 17.32.26

これをLaravelのプロジェクトディレクトリの「.env」に記載していきます。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=8889
DB_DATABASE=laravel_sample
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

DB_SOCKETの行が追加されている点に注意してください。

DBの接続確認はLaravelのテーブル作成機能を利用します。

ターミナルを開き、Laravelのプロジェクトフォルダまで移動します。

cd /Applications/MAMP/htdocs/mamp_laravel_sample

その後次のコマンドを実行します。

php artisan migrate

php artisanはコマンドからLaravelを操作するための機能で、様々な用途に利用されます。こちらのコマンドでマイグレーションが実行され、データベースにテーブルが作成されます。

上手く動かない、「Could not open input file: artisan」などのエラーが出る人は開いているフォルダが正しく無い可能性があります。その時はコマンドを実行してみてください

pwd
/Applications/MAMP/htdocs/mamp_laravel_sample

DBに接続出来ない人は設定ファイルの書き方などが間違っている可能性があります。


マイグレーション実行後はphpMyAdminを開いてテーブルが作成されていることを確認してください

スクリーンショット 2020-06-02 17.39.28

failed_jobs、migrations、usersの3テーブルが作成されています。


# 既存のLaravelプロジェクトをMAMPで表示したい

すでに作成したLaravelプロジェクトをMAMPで表示するにはいくつかの解決方があります。

1. プロジェクトフォルダをhtdocsに移動する
2. VirtualHostを使う
3. シンボリックリンクを使う

一番簡単なのが、htdocsの中にプロジェクトフォルダをそのまま移動してしまうことです。その場合、URLがどうなるかについては少し考える必要があるのでご注意ください。

publicフォルダを対象にするので、URLとパスは次のような関係になります。

/Applications/MAMP/htdocs/mamp_laravel_sample/public

http://localhost:8888/mamp_laravel_sample/public

それ以外の方法については別の記事で解説します。


# まとめ

本稿を振り返り、以下を確認してください

・MAMPのインストール方法
・PATHの設定方法
・htdocsの中にあるフォルダ構造とURLの関係性
・phpMyAdminの使い方
・MAMPのデーターベースの設定とLaravelの.envの設定方法


おつかれさまでした!

---

Laravelの教科書





完成まで突っ走る意気込みです。サポートしていただけると非常に嬉しいです。応援よろしくお願いします。