【Laravel】環境構築で混乱しないための整理

laravelアイキャッチ Laravel

こんにちは、かつコーチです。

Laravelで開発するとき、様々な動画や書籍がありますが、いろんな方法があって混乱しませんか?

Laravel開発を始める際の環境やワークフローについて、

いくつかの選択肢やツールを整理して解説します。

以下、代表的な開発方法やステップをまとめます。

1. PHPのインストール方法

Laravelを動かすためにはPHPが必要です。PHPは以下の方法でインストールできます。

HomeBrewを使う場合

Mac環境でPHPをインストールする場合、Homebrew を使うのが簡単です。

brew install php

インストール後、PHPが正しく動作しているかを確認するために以下を実行します。

php -v

MAMPやXAMPPを使う場合

PHP、MySQL、Apacheの開発環境を一括でセットアップするために、

MAMPやXAMPPを使うのも一般的です。

これらのツールは、ローカル開発環境をすぐに立ち上げるのに便利です。

  1. MAMPやXAMPPをインストールします。
  2. htdocs フォルダ内にLaravelプロジェクトを配置します。

例えば、以下のように composer create-project を使ってプロジェクトを作成します。

cd /Applications/MAMP/htdocs
composer create-project laravel/laravel example-app

これで、http://localhost/example-app/public でアプリケーションを

ブラウザから確認できるようになります。

2. グローバルインストールでLaravelを手軽に扱う

グローバルにLaravelインストーラーをインストールしておけば、

htdocs や特定のフォルダに依存せず、どこでもプロジェクトを作成できます。

Laravel Installerを使う場合

Laravelをグローバルにインストールすると、

任意のディレクトリから新しいプロジェクトを作成できます。

まず、Laravel Installerをインストールします。

composer global require laravel/installer

この場合、PATH を設定して laravel コマンドがどこからでも使えるようにしておく必要があります。bashzsh~/.bashrc~/.zshrc ファイルに以下を追記します。

export PATH="$HOME/.composer/vendor/bin:$PATH"

その後、新しいLaravelプロジェクトを以下のように簡単に作成できます。

laravel new example-app

これで、htdocs に入れなくてもどこからでもプロジェクトを作成でき、ディレクトリ構造も自由に選択できます。

3. Dockerを使った本番に近い開発環境のセットアップ

ローカル開発環境は簡便ですが、本番環境に近いセットアップをしたい場合は

Docker を利用すると効率的です。

Dockerはコンテナベースの仮想環境で、プロジェクトを実行するための必要な環境を構築します。

Laravel Sailを使う場合

Laravelには公式のDockerベースの環境である Sail があります。

これを使えば、Docker を使った開発環境を簡単にセットアップできます。

  1. まずはプロジェクトを作成します。
composer create-project laravel/laravel example-app
cd example-app
  1. Laravel Sailをインストールします。
composer require laravel/sail --dev
  1. Sailのコマンドを使って環境を立ち上げます。以下のコマンドで環境が自動的に構築されます。
./vendor/bin/sail up

Sailは、PHP、MySQL、Redis、Mailhogなど、開発に必要な全てのサービスをコンテナ内で管理し、

プロジェクトと一緒に動かすことができます。

Docker Composeでカスタマイズ

より複雑な環境設定や、特定の要件に合わせたカスタマイズをしたい場合は、

docker-compose.yml ファイルを手動で設定します。

例えば、以下のような docker-compose.yml を作成して環境を定義します。

version: '3'
services:
  app:
    image: php:8.1-fpm
    volumes:
      - .:/var/www/html
    networks:
      - laravel

  web:
    image: nginx:alpine
    volumes:
      - .:/var/www/html
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    ports:
      - "8000:80"
    networks:
      - laravel

  db:
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: example_db
      MYSQL_ROOT_PASSWORD: secret
    volumes:
      - dbdata:/var/lib/mysql
    networks:
      - laravel

networks:
  laravel:

volumes:
  dbdata:

このようにして、プロジェクトの環境をDocker上で一括して管理できます。

プロジェクトに複数のサービスが必要な場合(例えば、Nginx、PHP-FPM、MySQLなど)、

Dockerは非常に便利です。

まとめ

以下の3つの方法を整理すると、次のようになります。

  1. MAMP/XAMPPでの開発:
    • シンプルなローカル開発環境。
    • htdocs にプロジェクトを作成し、すぐに開発開始可能。
    • 小規模な開発や手軽なプロジェクトに最適。
  2. グローバルインストール:
    • Laravel Installerを使えば、どこからでもプロジェクトを作成可能。
    • プロジェクトごとにディレクトリを自由に管理可能。
  3. DockerやSailでの開発:
    • 本番環境に近い開発環境を構築可能。
    • Sailを使えば、Dockerを使った環境設定も手軽。
    • カスタマイズしたい場合は、docker-compose.yml を用いて詳細な環境設定が可能。

このように、開発規模や目的に応じて最適な方法を選べます。

タイトルとURLをコピーしました