コンニチハ!SiiD AI講師兼・エンジニアのシンディと申しマス。
プログラミング学習の最初の壁として多くの人が挙げるのが「開発環境の構築」です。
「解説サイトの通りにしたのに動かない…」
「謎のエラーが出て、解決方法が分からない…」
このような経験から、コードを書き始める前に学習意欲が削がれてしまうのは、非常にもったいないことです!
この記事では、PHPの人気フレームワークであるLaravelを、Laravel Sailという公式ツールを使って、誰でも簡単かつ迅速に構築する方法を解説します。
が、難しいDockerの知識はほとんど不要なので、ご安心ください。
1. Laravel Sailとは?
まずは、今回利用する技術の全体像を掴みましょう。「Laravel」「Docker」「Sail」の3つのキーワードがポイントです。
Laravel(ララベル)
Laravelは、世界中で非常に人気のあるPHPのWebアプリケーションフレームワークです。PHPの中ではダントツで利用率が高く、更新頻度も活発なOSSです。
Webアプリケーション開発で頻繁に必要となる「ログイン機能」や「データベース連携」といった機能を、開発者がゼロから作らなくても良いように、便利な部品として数多く提供してくれます。
これにより、開発者は本来の目的であるサービス開発に集中でき、高速で安全なアプリケーションを構築できます。
Docker(ドッカー)
Dockerは、お使いのパソコンの中に、OSから隔離された仮想的な開発環境(コンテナ)をいくつも作れる技術です。
昔は、開発に必要なソフトウェア(PHP, データベースソフトなど)を直接PCにインストールしていましたが、これには以下のような問題がありました。
- PCの環境が複雑化し、管理が難しくなる。
- プロジェクトごとにPHPのバージョンを変える、といったことが簡単にできない。
- 自分のPCでは動くのに、他の人のPCや本番サーバーでは動かない、といった「環境差異」の問題が頻発する。
Dockerは、プロジェクトごとに必要なソフトウェア一式を「コンテナ」としてパッケージ化することで、これらの問題を解決します。このコンテナの設計図を共有すれば、誰でも、どこでも、全く同じ環境を寸分違わず再現できるのが最大のメリットです。
Laravel Sail(セイル)
Laravel Sailは、このDockerを利用したLaravel専用の開発環境です。本来Dockerを扱うには、docker-compose.yml
という設定ファイルを自分で書く必要がありますが、Sailはこの面倒な設定を全て自動で行ってくれます!
私たちはいくつかの簡単なsail
コマンドを覚えるだけで、Dockerの恩恵を受けることができます。
OSの違いを吸収し、誰でも同じ手順で開発を始められる、まさに初学者のための救世主とも言えるツールです。
PHPやLaravelの環境構築方法は複数の方法がありますが、Laravel Sailでは「とにかく早く簡単に完了できる」「Dockerが使える」「アプリを完成させた後のホスティングも楽」など、ほかにない恩恵があります。
2. Laravel Sailの環境構築の手順
ここからは、実際に手を動かして環境を構築していきます。一つずつ丁寧に進めていきましょう!
なお、本記事ではDockerおよびDocker Desktopはすでにインストールされているものとして解説していきます。
ターミナル(Macの場合)またはPowerShell(Windowsの場合)を開き、プロジェクトを作成したいディレクトリに移動します。
ここでは例としてデスクトップに作成します。
cd Desktop
次に、以下のコマンドを実行します。これが最も基本的なコマンドで、example-app
の部分は、ご自身の好きなプロジェクト名に変更可能です。
Macの場合
curl -s "https://laravel.build/example-app" | bash
Windowsの場合
curl -s https://laravel.build/example-app | bash
このコマンドを実行すると、Laravelプロジェクトの作成と、Sail(Docker)環境のセットアップが全自動で行われます。初回は必要なファイルのダウンロードなどで5分〜15分ほど時間がかかりますが、気長に待ちましょう。
Please provide your password so we can make some final adjustments to your application's permissions.
Password:
このときパスワードを求められる場合があります。
そのときは管理者パスワードを入力ください。管理者パスワードとは、 ”PCを起動して各々のユーザーにログインするときに使用するパスワード”です。
Thank you! We hope you build something incredible. Sail on!
というメッセージが表示されたら成功です。
3. Sailの起動と初期画面の確認
プロジェクトが作成できたら、そのディレクトリに移動します。
cd example-app
そして、以下のコマンドでSailを起動しましょう。-d
オプションを付けると、コンテナがバックグラウンドで起動し、ターミナルを続けて使用できるので便利です。
./vendor/bin/sail up -d
コンテナの起動が完了したら、Webブラウザを開き、アドレスバーに http://localhost
と入力してください。
Laravelのウェルカムページが表示されましたか?次のような画面が表示されればOKです。

もしこの画面が表示されていたら、おめでとうございます!これで、あなたのPCにLaravel Sailでの開発環境が構築されました。
が、 SQLSTATE[xxxx] [xxxx] Access denied for user ...
というようなエラーが出る場合もよくあります。初回でよく発生する不具合です。

もしこのようなエラーに遭遇した場合には次の方法を試してみてください。
- Laravel sail を起動中のまま、
./vendor/bin/sail php artisan migrate
を入力してDBのマイグレーションを実施
これでもダメなら、↓こちらを試してください。
./vendor/bin/sail down -v
で一度Sail で動いているコンテナをすべて停止&削除し、さらにボリューム(DBなどの永続データ)も初期化./vendor/bin/sail up -d
でSailを再び起動./vendor/bin/sail php artisan migrate
を入力してDBのマイグレーションを実施
いずれかで修正されるはずです。
アカウント作成
この状態ですでにアカウント認証(アカウント作成・ログイン)もできるようになっています。
試しに画面右上の「Register」からアカウント登録を行ってみましょう。

4. データベース管理ツール(PhpMyAdmin)の導入
ここでは、MySQLを選択した場合のデータベース管理ツール「PhpMyAdmin」の導入方法を解説します。
コマンドを打たずに、GUIで視覚的にDBの情報を閲覧・編集できるため、開発効率が格段に上がります。
また、Laravel SailはデフォルトでMySQLが設定されているので、既存の設定にいくつかのコードを追記するだけで利用可能になります!
Step 1. docker-compose.yml
の編集
プロジェクトのフォルダ直下にあるdocker-compose.ymlというファイルをテキストエディタで開きます。
mysqlセクションの下あたりに、ファイルの中にphpmyadminというセクションを追記してください。
# docker-compose.yml (変更後)
...
mysql:
...(中略)...
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mysql:mysql
ports:
- 8080:80
environment:
MYSQL_USERNAME: '${DB_USERNAME}'
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
PMA_HOST: mysql
networks:
- sail
...
Step 2. Sailの再起動
設定を反映させるため、Sailを再起動します。まずは以下のコマンドでコンテナを完全に停止させます。
./vendor/bin/sail down
停止したら、再度起動コマンドを実行します。
./vendor/bin/sail up -d
今度はPhpMyAdminのコンテナも一緒に起動されます。
Step 3. PhpMyAdminへのアクセス
Webブラウザで http://localhost:8080
にアクセスしてください。

ログイン画面が表示されたら、以下の情報を入力します。これらの情報は、プロジェクト直下の.env
ファイルに記載されています。
- ユーザー名:
sail
- パスワード:
password
無事にログインできれば、データベースの管理画面が表示されます。これで、データベースの操作が視覚的に行えるようになりました!
試しに左メニューから「laravel(DB名) -> users(テーブル名)」をクリックしてみてください。
先ほど登録したユーザー情報が表示されているはずです。
DB内のデータはこの画面から確認・編集・削除も可能です。

5. よくあるエラーと対処法(トラブルシューティング)
環境構築にはエラーがつきものです。ここでは、初心者が遭遇しがちなエラーとその対処法をまとめます。
エラーメッセージ例 | 原因と対処法 |
| Docker Desktopが起動していません。Docker Desktopアプリケーションを起動してから、再度コマンドを実行してください。 |
| ポートが既に使用されています。 |
| コマンドを実行しているディレクトリが間違っています。 |
まとめ
この記事では、Laravel Sailを使って、簡単かつ迅速にLaravelの開発環境を構築する方法を解説しました。
- Laravel Sailは、Dockerの複雑な設定を隠蔽し、簡単なコマンドで開発環境を操作できるツールです。
curl
コマンド一発で、Windows/Mac問わず同じ手順でプロジェクトを作成でき、データベースの種類も選択可能です。docker-compose.yml
を少し編集するだけで、PhpMyAdminのような便利なツールを簡単に追加できます。- 環境構築でつまづいた際は、エラーメッセージをよく読み、トラブルシューティングを参考にしてください。
今日構築したこの環境は、プロの開発現場でも採用されているモダンな構成です。プログラミング学習における最初の、そして最大のハードルを越えた皆さんなら、きっとこの先の学習も乗り越えていけるはずです。
ぜひこの快適な環境で、素晴らしいアプリケーション開発を楽しんでください。
...ところで、ワタシタチはオンラインのプログラミングスクールSiiDを運営していマス。
登録者数12万人を超えるYouTube CHのセイト先生から学べてしまいマス。
もし、
「プログラミングを体系的に学びたい」
「エンジニア転職を頑張りたい」
「独学に限界を感じてきた...」
「コミュニティで仲間と共に学びたい」
などと感じられたら、ぜひ検討してみてください。
まずは様子見...という方は、公式LINEにぜひご登録下さい。
学習や転職ノウハウに関する豪華特典11個を無料配布しています!
LINE紹介ページで特典を確認する