macOS + Laravel Valet + MariaDBでローカル開発

Laravel Valet とは

Laravel Valet は、macOS 向けの軽量なローカル開発環境ツールです。

Apache や Docker を使わず、Nginx + PHP + DNS を自動設定し、ディレクトリを置くだけで https://app.test のような URL で即座にアクセスできます。

Laravel 以外の PHP アプリでも使用できます。

目次

Valet インストール前の確認

Valet を使用する前に、以下が Homebrew 経由でインストール済みである必要があります。

Homebrew

brew -v

未インストールの場合:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

PHP

php -v

インストール例:

brew install php

バージョンを指定してインストール

brew install php@8.3

Composer

composer -V

未インストールの場合:

brew install composer

Valet インストール

composer global require laravel/valet
valet install

状態確認:

valet status

公開ディレクトリの指定

park(ディレクトリ配下をまとめて公開)

cd ~/Sites
valet park

valet park したディレクトリ配下では、フォルダ名 = アクセス用ドメイン名 になります。

~/Sites/
├─ app1/  → https://app1.test
└─ app2/  → https://app2.test

link(任意の場所のプロジェクトを公開)

cd ~/projects/myapp
valet link

その ディレクトリ単体 を Valet に登録し、フォルダ名 = アクセス用ドメイン名 になります。

~/projects/myapp/ → https://my-app.test

登録状況の確認

valet paths   # park されたディレクトリ一覧
valet links   # link されたプロジェクト一覧

HTTPS の有効化

cd プロジェクトディレクトリ
valet secure

特定のサイトのみ HTTPS を解除:

valet unsecure app1

すべてのサイトの HTTPS を解除:

valet unsecure

HTTPS 状態の確認:

valet links

PHP バージョンの切り替え

brew list | grep php
valet use php@8.3
php -v

MariaDB

インストール・起動

brew install mariadb
brew services start mariadb

ログイン:

sudo mariadb

ユーザーを作成

※ ユーザー作成は初回のみ

CREATE USER 'laravel_user'@'localhost'
IDENTIFIED BY 'password';

接続元は localhost
パスワードは任意

データベース作成

CREATE DATABASE app_name
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;
-- Laravel アプリ用データベースを作成

GRANT ALL PRIVILEGES ON app_name.*
  TO 'laravel_user'@'localhost';
-- Laravel 用ユーザーに全権限を付与

FLUSH PRIVILEGES;
-- 権限を即時反映

SHOW DATABASES;
-- データベース一覧を確認

SHOW GRANTS FOR 'laravel_user'@'localhost';
-- ユーザー権限を確認

※ DB はアプリごとに作成

.env 設定

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=app_name
DB_USERNAME=laravel_user
DB_PASSWORD=password

マイグレーション実行

php artisan migrate

Valet コマンドまとめ

valet install
# Valet をインストールし、Nginx・DNS・PHP を設定

valet status
# Valet の動作状態を確認

valet park
# 現在のディレクトリ配下を自動的に .test ドメインで公開

valet link
# 任意のディレクトリを .test ドメインで公開

valet paths
# park 登録されているディレクトリ一覧を表示

valet links
# link 登録されているプロジェクト一覧を表示

valet secure
# HTTPS(SSL)を有効化

valet unsecure
# HTTPS を解除

valet restart
# Valet(Nginx / PHP)を再起動

valet use php@X.Y
# 使用する PHP バージョンを切り替え

次回以降に新規サイトを立ち上げる手順

park しているディレクトリへ移動

cd ~/Sites

Laravel プロジェクトを作成

laravel new newLaravelApp
# DB を使わない場合は ここまでで完了
# URL:http://newLaravelApp.test

新規データベースを作成(DB 使用時)

CREATE DATABASE newLaravelApp_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

GRANT ALL PRIVILEGES ON newLaravelApp_db.*
TO 'laravel_user'@'localhost';FLUSH PRIVILEGES;

# DB 名はアプリごとに分ける
# 既存の laravel_user を使用

.env を編集

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=newLaravelApp_db
DB_USERNAME=laravel_user
DB_PASSWORD=password

マイグレーション実行

cd newLaravelApp
php artisan migrate

アクセス確認

URL:http://newLaravelApp.test

(HTTPS を使う場合)

valet secure newLaravelApp
# URL:https://newLaravelApp.test

コメント

コメントする

目次