MAMPが気づいたらM1対応していた。
PHPを勉強している時によく、MAMPにお世話になった。
最近だと公式がお勧めしているdocker sailを使うのが一番早い思うが、sailコマンドを使うことで混乱してしまう人もいると思う。MAMPは特にプログラミング初めたての人にはとっつきやすいと思うので、環境を作る際に参考にして欲しい。
ここではMAMPの詳しい説明は省略するが、webサーバー、DB、PHPを用意してくれる優れものだ。Laravelには、ローカルサーバーをたてる機能が備わっているが、DBは自前で用意する必要がある。MAMPを使えば、全部MAMP任せにすることができる。
なお、ComposerとMAMPが入っていることが前提だ。用意していない人は用意しよう。以下に参考記事を貼っておく。
MAMPも公式から落としておこう。無料版で大丈夫だ。
MAMP公式(Mac)https://www.mamp.info/en/mac/
MAMP公式(Windows)https://www.mamp.info/en/windows/
Laravelをローカルに作成する
まずは、ローカルにLaravelを用意する。作成方法は以下を参考にして欲しい。
今回は以下のLaravelプロジェクトを作成した。
MAMPのルートフォルダにLaravelを移動する
Laravelプロジェクトを作成したら、MAMPのhtdocsフォルダに上で作成したLaravelプロジェクトを移動させよう。
MAMPで扱うプロジェクトは全てhtdocsフォルダ以下に入れる必要がある。ここがMAMPのドキュメントルートになる。とりあえず、MAMPを使う場合はこのフォルダに突っ込んでおけばいけるはずだ。
MAMPを立ち上げる
MAMPを立ち上げて、Laravelプロジェクトを開いてみよう。
設定によって変わってくると思うが、右上のアイコンが緑色になっていない場合はwebサーバーが立ち上がっていないので、右上のstartをクリックしよう。
サーバーが立ち上がったらWebページが開くと思う。
開かない場合は、ポップアップのWebStartボタンを押そう。
Laravelプロジェクトを開く
MAMPのサーバーを立ち上げたら、Laravelプロジェクトを開こう。
Webページの右上、MyWebsiteボタンを押す。
ボタンを押すと以下のようなページになるはずだ。ここが、htdocsフォルダの中身だ。htdocsにLaravelプロジェクトを入れていれば以下のようにフォルダが表示されるはずだ。
ちなみにここへは、http://localhost:8888
をURL欄に直接記入することでもアクセスできる。
MAMPのデフォルトの初期サーバーはApacheかつPort番号は8888が指定されている。設定からNginxにサーバーを変更したりポート番号も変更できるので好みで。
Laravelプロジェクトフォルダを開いたら、Laravelの中身が展開される。Laravelのルートはpublicなので、publicをクリックすると、いつものLaravelの画面が表示されるはずだ。
また、http://localhost:8888/laravel_mamp_test/public/
でも表示されるぞ。
右下のLaravel v9.0.1の隣、PHPバージョンについて注目して欲しい。ここのPHP v8.0.8はMAMPのPHPバージョンのことだ。MAMPのPはPHPのP、PHPもMAMPが用意してくれている。
試しにここのversionを変更してみよう。
この状態のまま、Laravelのルートを開くと以下のエラーが表示されるはずだ。なぜなら、Laravel9はPHP versionが8.0以上じゃないと動かないからだ。
もちろん、自分のMacに入っているPHP versionが反映されているわけでもない。
このようにMAMPのPHP versionが反映されていることも注意しておこう。
phpMyAdminにログインしてDBを作成する
ここまでは、わざわざMAMPを使わずともLaravelだけでできるが、ここからMAMPを使う便利さが発揮される。
MAMPにはMySQLを便利に使えるGUIであるphpMyAdminが使える。まずは、phpMyAdminにログインして、その中でDBを作成しよう。
MAMPで立ち上げたWebページのToolsタブから、phpMyAdminをクリックすると、phpMyAdminのページを飛んでいける。
phpMyAdminへ入れたら、DBを作成していく。最初にある、4つのDBは元から入っているDBなので誤って削除しないように気をつけよう。
新規作成ボタンを押して自分の好きな名前のDBを作成しよう。今回はプロジェクトと一緒の名前のDB名にした。
DBが作成できたら、一覧のところに追加されるはずだ。もちろん、テーブルはまだ作成していないので空のままだと思う。
Laravelの.envファイルを修正する
DBが作成できたら、今度はLaravelの.envファイルを修正していく。このenvファイルはLaravelの設定ファイルとでも言えばいいのか、ここのDBの項目を変更して上で作成したDBにアクセスできるようにする。
.envファイルのDB_CONNECTIONの欄を見つけたら、PORT番号やDATABASE名を変更しよう。
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=127.0.0.1
DB_PORT=8889
DB_DATABASE=laravel_mamp_test
DB_USERNAME=root
DB_PASSWORD=root
変更後
変更箇所は4つ。ポート番号、DATABASE名、USERNAMEとPASSWORDだ。
何に変更するかはMAMPのwebページ、MySQL欄に記載されている。
これで準備は完了だ。
migrateコマンドを入力する
.envファイルが修正できたら、後はmigrateコマンドを走らせて実際にDBにテーブルが作成されるか確認しよう。
migrateコマンドを実行すると、Laravelプロジェクトのdatabaseフォルダの中のmigrationsフォルダの中に元から入っているテーブルがDBに生成されるはずだ。
php artisan migrate
コマンドをLaravelプロジェクトのルートで叩いて以下のようになれば成功だ。実際にDBの中身を確かめてみよう。
phpMyAdminにアクセスしてDBを見てみるとテーブルが作成されたのがわかると思う。
これでDBの用意も完了だ。
まとめ
- Laravelプロジェクトをローカルに作成し、MAMPのhtdocs以下にプロジェクトを移動する
- DBを、phpMyAdminから作成する
- .envファイルを修正し、
php artisan migrate
コマンドを入力してテーブルを作成する
MAMPを使えば簡単にLaravelの環境を整えることができた。簡単にできる方法なので、Laravelの勉強をしたい人は参考にしてもらえれば幸いです。