この投稿は「Laravel Nova入門シリーズ」の第2回です。
第1回ではLaravel Novaの特徴や導入メリットを整理しました。未読の方は以下よりお読みください。

Laravel Nova入門シリーズ第2回では、Windows 11環境にWSL2を用いてLaravel Novaを動かすための開発環境を構築する手順を解説します。
Ubuntu上にPHP、MySQL、Laravel 12.xをセットアップし、Novaのインストール・初期設定までを一通り実践できる内容です。
この記事を読むとわかること
- WSL2上でPHP、MySQL、Laravelの開発環境を構築する手順
- Laravel Novaのライセンス取得からインストール・初期設定までの流れ
- VS CodeとWSLを連携して快適にLaravel開発を進める方法
環境構成
今回構築した開発環境のベースは以下の通りです。
項目 | 内容 |
---|---|
OS | Windows 11 Pro |
仮想環境 | WSL2(Windows Subsystem for Linux) |
Linuxディストリビューション | Ubuntu 22.04 LTS |
エディタ | Visual Studio Code |
PHPバージョン | 8.2 |
Laravelバージョン | 12.x 系 |
Laravel Novaバージョン | 5.x 系 |
データベース | MySQL 8.0 |
Laravel Nova ライセンスの購入
Laravel Novaは有償のパッケージのため、まずはライセンスの購入が必要です。
今回、個人開発や小規模な受託案件に適した「Singleライセンス($99)」を選びます。
ライセンスは以下のURLから購入できます:
https://nova.laravel.com/register
購入後、ログインして「Licenses」ページにアクセスし、ライセンスキーを作成します。ライセンスキーは laravel/nova
を Composer 経由でインストールする際に必要になるため、あらかじめメモ帳などにコピーしておくことをおすすめします(ライセンスキー文字列をクリックするとコピーできます)。

WSL(Windows Subsystem For Linux)のインストール
Laravel Novaの開発環境を Windows 上に構築するにあたり、WSL(Windows Subsystem for Linux) を使って Linux環境を用意します。
Windows 11ではWSLの導入がとても簡単になっており、以下の記事などが参考になります:

WSLが正しくインストールされているか確認する
インストール後、以下の手順で WSL(Ubuntu)が起動できるか確認します。
- Windowsキー + S を押して検索バーを表示
- 「Ubuntu」と入力し、該当するアプリを起動
すると「Ubuntuの黒い画面(bash)」が立ち上がります。このあと、WSL上にPHPやMySQLなどをインストールして、Laravel Novaを動かす土台を整えていきます。
PHP、MySQL、Laravelのインストール
Laravel Nova を動かすために必要な環境を、WSL(Ubuntu)上に構築していきます。
ここでは以下の3つを順番にインストールします:
- PHP 8.2
- MySQL 8.0
- Laravel 12.x
1. パッケージの更新
まずはシステムのパッケージを最新状態にしておきましょう。
sudo apt update && sudo apt upgrade -y
このコマンドで、Ubuntu にインストールされている各種ソフトウェアが最新版になります。
古い状態だと後の作業で不具合が出ることがあるため、最初にやっておくのが安心です。
2. PHP 8.2のインストール準備
Laravel Nova は PHP 8.2 以上が必須です。
しかし、Ubuntu の標準リポジトリから入る PHP は古いため、専用の PPA(外部リポジトリ)を追加して最新の PHP をインストールします。
以下のコマンドを順番に実行してください:
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
3. PHP 8.2のインストール
次に、PHP 本体とLaravelに必要なモジュールをまとめてインストールします:
sudo apt install php8.2 php8.2-cli php8.2-mbstring php8.2-xml php8.2-curl php8.2-mysql php8.2-zip php8.2-bcmath unzip git curl -y
バージョン確認を行い、以下スクショのようにPHP 8.2.x
と表示されればOKです。
php -v

4. Composerのインストール
Laravelのプロジェクトを作成したり、パッケージ管理を行うには Composer が必要です。
以下の手順で Composer を WSL(Ubuntu)にインストールします。
curl -sS https://getcomposer.org/installer | php
どこからでも composer
コマンドが使えるように、システム全体にインストールします:
sudo mv composer.phar /usr/local/bin/composer
インストールが成功していれば、以下のコマンドでバージョンが確認できます:
composer --version

5. MySQLのインストールと初期設定
続いて、Laravel Nova が利用するデータベースとして MySQL をインストールします。
以下のコマンドで MySQL をインストールします:
sudo apt install mysql-server -y
インストールが完了したら、次のコマンドでバージョンを確認します:
mysql --version

以下で、MySQLにrootユーザーでログインします。
sudo mysql
セキュリティのため、root
ユーザーにパスワードを設定します(ここでは例として "password"
を使用):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
EXIT;
※「password」の部分は任意の安全なパスワードに変更してください。
設定したパスワードを使ってログインできるか確認します:
mysql -u root -p

このあと、Laravel の .env
ファイルで MySQL 接続設定を行うことで、データベース連携が可能になります。
6. Laravelのインストールとデータベース接続設定
環境が整ったら、いよいよ Laravel のプロジェクトを作成していきます。
今回は Laravel Nova を導入する前提で、プロジェクト名を nova-app
にしています。
まずは Laravel プロジェクトを格納するフォルダを作成し、移動します:
cd ~
mkdir laravel-projects
cd laravel-projects
次に、Composer を使って Laravel の最新バージョンをインストールします:
composer create-project laravel/laravel nova-app
インストールが完了したら、プロジェクトディレクトリに移動し、バージョンを確認します:
cd nova-app
php artisan --version

MySQL に接続してデータベースを作成します:
mysql -u root -p
ログイン後、以下のコマンドでデータベースを作成します:
CREATE DATABASE nova_app;
EXIT;
Laravel では .env
ファイルでデータベース接続などの設定を行います。
まずは .env.example
をコピーして .env
を作成し、エディタで開きます:
cp .env.example .env
nano .env
以下のようにMySQL接続情報を設定してください(※ パスワードは先ほど MySQL で設定した内容に合わせてください):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nova_app
DB_USERNAME=root
DB_PASSWORD=password
接続情報が正しく設定できたら、マイグレーションを実行しデフォルトのテーブルを作成します:
php artisan migrate
これで、Laravel アプリと MySQL が正常に接続され、基本的なテーブル(users、password_resets など)が作成されます。
7. Laravel Nova のインストール
Laravelのプロジェクトができたら、いよいよ Laravel Nova のインストールに進みます。
Novaは有償パッケージのため、事前にライセンス購入とComposerの認証設定が必要です。
まず、Novaのインストール元である非公開リポジトリを composer.json
に追加します:
composer config repositories.nova '{"type": "composer", "url": "https://nova.laravel.com"}' --file composer.json
次に、Novaをプロジェクトに追加するよう composer.json
に記述します。
Laravel 12.x と互換のある Nova 5.x を指定します:

設定が整ったら、以下のコマンドで Laravel Nova をインストールします:
composer update --prefer-dist
途中で以下のようなログイン認証が求められますので、Usernameにメールアドレス、Passwordにライセンスキーを入力(コピペ)します。
「Do you want to store credentials…」は、Y を入力して進めます。
****************************************************
Missing or incorrect username / password combination
****************************************************
Authentication required (nova.laravel.com):
Username: メールアドレス
Password: ライセンスキー
Do you want to store credentials for nova.laravel.com in /home/hogehoge/.config/composer/auth.json ? [Yn] Y
Novaをプロジェクトに組み込むため、以下の Artisan コマンドを実行します:
php artisan nova:install
php artisan migrate
途中で、
- Would you like to use Nova as the default login?
- Install Nova Devtool?
が出たら、Yes を指定し進めます。
Novaにログインするためのユーザーを作成します:
php artisan nova:user
順に以下を対話形式で入力します:
- 名前
- メールアドレス
- パスワード(ログイン用)
最後に、以下のコマンドでアプリケーションキーを設定しておきます(もっと前でもいいですが):
php artisan key generate
これでLaravel Novaのインストールは完了です。
Laravel Nova インストール後の動作確認
インストールと初期設定がすべて完了したら、最後に Nova が正しく動作しているか確認します。
Laravel には標準で開発用の簡易Webサーバーが用意されています。以下のコマンドで起動します:
php artisan serve
起動に成功すると、次のようなメッセージが表示されます:
Starting Laravel development server: http://127.0.0.1:8000
以下URLにブラウザでアクセスします(末尾に/novaを付けるのを忘れず)。
Novaのログイン画面が表示されたら、先ほど php artisan nova:user
コマンドで作成した メールアドレスとパスワードでログインしてください。
ログインに成功すると、以下のようにLaravel Novaのダッシュボード画面が表示されます。

これでLaravel Novaの環境構築は完了です。お疲れ様でした。
VS Code で Laravel Nova プロジェクトを開く
最後に、開発効率を高めるために Visual Studio Code(VS Code) でプロジェクトを編集できるようにしておきます。
WSL 環境と VS Code は非常に相性が良く、Windows 側から直接ファイルを開いて編集できます。
まず、WSL上で作成した Laravel プロジェクトのディレクトリに移動します:
cd ~/laravel-projects/nova-app
次に、以下のコマンドで VS Code を WSL 経由で立ち上げます:
code .
このコマンドを実行すると、Windows 側の VS Code が WSL 上のプロジェクトを開いてくれます。
初回実行時に「Remote WSL」拡張が必要と言われた場合は、指示に従ってインストールしてください。
まとめ
Laravel NovaをWindows環境で動かすには、WSL2を使ってLinux上に開発環境を整えるのが現実的かつ効率的です。
導入のハードルは若干ありますが、ひとつずつ手順を追えば確実に構築できます。
環境や目的に応じてまだ最適化の余地もありそうです。ぜひ自分の開発スタイルに合わせて調整してみてください。