LaravelはPHPのフルスタックWebフレームワークの中で最も有名なものの1つで日本では特に人気があります。通常Webアプリを開発する場合、環境構築は骨の折れる作業となりますが、Laravelでは「Laravel Sail」という仕組みを利用することによりほぼ自動的に開発環境が出来上がります。
この記事ではWindowsでLaravelの開発を行う手順を紹介し、ブラウザでWebアプリの初期画面を表示できるところまでを紹介します。
この記事でわかること
- Laravel Sailの概要
- Laravelを利用するための環境構築
- Laravelプロジェクトの作成方法
事前準備
Laravelは簡単に開発環境を作る仕組みとして「Laravel Sail」というソリューションを提供しています。Laravelで実際にWebアプリを作成する前にLaravel Sailについてちょっとだけ解説します。
Laravel Sailとは
Laravel SailとはDockerを利用してLaravelの開発環境の構築およびLaravelを実行するためのソリューション(仕組み)です。Laravel Sailを利用することで開発者は煩わしい開発環境の構築を行う必要がなくなり、本質であるLaravelアプリの開発に集中することができます。(実際はLaravel Sailはdocker-compose.ymlに定義されているDockerコンテナを操作するための便利なスクリプトです。)
Laravel SailはDockerの利用が前提となっているため、あらかじめDockerをインストールしておく必要があります。また、Windowsの場合はDockerのバックエンドとしてWSL2を導入しておく必要もあります。WSL2およびDockerの導入に関しては以下の記事をご参照ください。
Laravelプロジェクトの作成
WSL2およびDocker(Docker Desktop for Windows)のインストールが完了したら早速Laravelプロジェクトを作成します。
Linuxの起動
Laravelプロジェクトを作成するためにLinuxを立ち上げます。スタートメニューからインストール済みのLinuxを選択しターミナルを開きます。
Ubuntuの場合は後続の手順で必要となるcurlコマンドがあらかじめインストールされているため問題ありませんが、他のディストリビューションの場合はcurlがインストールされていない可能性がありますのでここでインストールしておきます。ここではDebianを例にcurlをインストールしてみます。(お使いのディストリビューション毎にインストール方法は異なりますのでご確認ください。)
sudo apt update && sudo apt install -y curlLaravelプロジェクトの作成
立ち上げたLinuxのターミナルで任意のディレクトリに移動します。移動後に次のコマンドを入力するとそのディレクトリ内にLaravelプロジェクトが作成されます。なお、”example-app”の部分は好きなように変更可能です。”example-app”と指定した場合はexample-appというディレクトリが作成され、必要なファイルが展開されます。
curl -s https://laravel.build/example-app | bashデフォルトではSailで利用するサービスとしてmysql、redis、meilisearch、mailhog、seleniumが選択されdocker-compose.ymlに書き込まれますが、これらは任意に選択が可能です。上記のプロジェクト作成コマンドのディレクトリ名の指定の後に?with=[サービス名][,サービス名]と記載すればSailで利用するアプリケーションを指定できます。例としてmariadbのみを選択してプロジェクトを作成するコマンドを以下に示します。
curl -s "https://laravel.build/example-app?with=mariadb" | bash最新版のLaravel(9.x)では以下のサービスが指定できます。
mysql、pgsql、mariadb、redis、memcached、meilisearch、minio、selenium、mailhogLaravelプロジェクトの実行
作成したプロジェクトを実際に立ち上げてみます。Linuxターミナルで作成したプロジェクトのディレクトリに移動し、./vendor/bin/sail up -dとタイプします。
cd example-app
./vendor/bin/sail up -d初回起動時はDockerコンテナのイメージ取得とビルドが行われるため立ち上がりに結構時間がかかりますが、一度コンテナが作成されれば次回以降の起動に時間はかかりません。お茶でも飲んで立ち上がるのを待ちましょう。
SailのPATHの設定
sailを利用する際に毎回./vendor/bin/sailと入力するのは面倒なのでbashエイリアスを作成します。
任意のエディタで~/.bashrcファイルを開き、末尾に以下を追加します。
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'一度Linuxターミナルを閉じて開きなおすことでsailと打つだけでsailを利用できるようになります。
なお、このブログではVisual Studio Codeを利用して開発を行っていきます。Laravelの開発で利用できるようにVisual Studio Codeをインストールする方法は以下の記事をご参照ください。

Webブラウザで確認
sail up -dコマンドでプロジェクトを立ち上げたら正常に導入が完了したか確認してみましょう。
お好きなブラウザでhttp://localhostにアクセスしてWelcome画面が表示されれば正しくプロジェクトが作成されています。お疲れさまでした。

まとめ
長々と書いてきましたが、WSL2とDocker Desktopの導入さえ済んでしまえばLaravel Sailの力を借りて簡単に開発環境、実行環境を作れるのでとても便利ですね。筆者はサラリーマン時代にStrutsフレームワークから入ったのですが、その頃の環境構築と比べると隔世の感があります。
以上になります。それではまた!


