【保存版】Laravel 10のインストール完全ガイド – 初心者でも15分で環境構築できる

Laravelインストールの前提条件を確認しよう

PHPとComposerが必要な理由と最小要件

Laravelをインストールする前に、開発環境に必要な基本コンポーネントを確認しましょう。Laravelは近代的なPHPフレームワークであり、以下の要件が必須となります:

PHP要件

  • PHP バージョン 8.1以上
  • BCMath PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

これらの要件は、Laravelの主要機能を支える重要な基盤となります。特にPHPのバージョンは、セキュリティと新機能の観点から重要です。

Composerの役割
Composerは、PHPの依存関係管理ツールで、以下の理由で必須です:

  • パッケージの依存関係を自動管理
  • 必要なライブラリを効率的にインストール
  • バージョン管理とアップデートの簡素化

インストール手順:

# MacOSの場合
brew install php composer

# Windowsの場合
# https://windows.php.net/download/ からPHPをダウンロード
# https://getcomposer.org/download/ からComposerをダウンロード

Node.jsとnpmが開発に役立つ理由

Node.jsとnpmは必須ではありませんが、モダンなLaravel開発には強く推奨される要素です:

主なメリット

  1. フロントエンド開発の効率化
  • JavaScriptパッケージの管理
  • アセットのコンパイル(Vite/Laravel Mix)
  • ホットリロード機能の活用
  1. 開発ワークフローの改善
  • NPMスクリプトによる自動化
  • モダンなJavaScript機能の活用
  • CSSプリプロセッサの利用

インストール推奨バージョン:

  • Node.js: 16.x以上
  • npm: 8.x以上(Node.jsに同梱)
# Node.jsのインストール
# MacOS
brew install node

# Windows
# https://nodejs.org/ から直接ダウンロード

# バージョン確認
node -v
npm -v

開発環境チェックリスト

  • [ ] PHP 8.1以上がインストール済み
  • [ ] 必要なPHP拡張機能が有効
  • [ ] Composerが最新版
  • [ ] Node.jsとnpmが利用可能
  • [ ] システム要件を満たすメモリ(推奨: 2GB以上)

これらの前提条件を満たすことで、Laravelの機能を最大限に活用でき、開発プロセスがスムーズになります。

Laravel 10を新規インストールする手順

Composerを使った最新版のインストール方法

Laravel 10は、Composerを使用して簡単にインストールできます。以下の手順で、新しいLaravelプロジェクトを作成できます:

# 基本的なプロジェクト作成コマンド
composer create-project laravel/laravel プロジェクト名

# バージョンを指定する場合
composer create-project laravel/laravel プロジェクト名 "10.*"

# 特定のディレクトリにインストールする場合
cd /desired/path
composer create-project laravel/laravel プロジェクト名

インストール時の注意点

  • プロジェクト名は小文字とハイフンを推奨
  • 既存ディレクトリと重複しないよう注意
  • インストール中のエラーメッセージに注意

Laravel Installerを使った簡単インストール

Laravel Installerは、より簡潔なコマンドでプロジェクトを作成できる専用ツールです:

# Laravel Installerのグローバルインストール
composer global require laravel/installer

# パスを通す(必要な場合)
export PATH="$PATH:$HOME/.composer/vendor/bin"

# 新規プロジェクトの作成
laravel new プロジェクト名

Installerのメリット

  • コマンドがシンプル
  • インストール速度が若干向上
  • 最新バージョンが自動選択

プロジェクト作成時のオプション設定

Laravel新規プロジェクト作成時には、様々なオプションを指定できます:

# Gitリポジトリの初期化をスキップ
laravel new プロジェクト名 --git=false

# デフォルトのGitブランチを指定
laravel new プロジェクト名 --branch="main"

# Breeze認証スカフォールドを含める
laravel new プロジェクト名 --breeze

# Jetstreamを含める
laravel new プロジェクト名 --jet

主要なインストールオプション一覧

オプション説明使用例
–gitGitリポジトリの初期化制御–git=false
–branchデフォルトブランチの指定–branch=”develop”
–breezeLaravel Breezeのインストール–breeze
–jetLaravel Jetstreamのインストール–jet
–stackフロントエンドスタックの選択–stack=livewire
–pestPestテストフレームワークの使用–pest
–prompt対話式インストール–prompt

これらのオプションを組み合わせることで、プロジェクトの初期設定を効率的に行えます。例えば:

# Breezeを含み、Pestテストを使用する場合
laravel new プロジェクト名 --breeze --pest

# Jetstreamを含み、Livewireスタックを使用する場合
laravel new プロジェクト名 --jet --stack=livewire

プロジェクト作成後は、必要に応じて追加のパッケージやツールをインストールできます。

開発環境のセットアップを完了させる

環境設定ファイル.envの基本設定

Laravelプロジェクトの環境設定は.envファイルで管理されます。新規プロジェクト作成時には.env.exampleがコピーされます:

# .env.exampleから.envをコピー
cp .env.example .env

重要な.env設定項目

# アプリケーション設定
APP_NAME=プロジェクト名
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

# データベース設定
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=データベース名
DB_USERNAME=ユーザー名
DB_PASSWORD=パスワード

# メール設定
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025

# キャッシュ・セッション設定
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_CONNECTION=sync

アプリケーションキーの生成と設定

セキュリティのため、各Laravelアプリケーションには一意のアプリケーションキーが必要です:

# アプリケーションキーの生成
php artisan key:generate

# 生成されたキーの確認
# .envファイル内のAPP_KEYに自動設定される

キー生成時の注意点

  • キーは32文字のランダムな文字列
  • プロジェクトごとに一意である必要がある
  • 本番環境では絶対に公開しない
  • バージョン管理には含めない

データベース接続の設定方法

Laravelでは複数のデータベースタイプをサポートしています。以下は主要なデータベース設定例です:

MySQL設定例

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

PostgreSQL設定例

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=postgres
DB_PASSWORD=

SQLite設定例

DB_CONNECTION=sqlite
# database/database.sqliteファイルを作成
touch database/database.sqlite

データベース接続テスト:

# データベース接続テスト
php artisan db:monitor

# マイグレーションテスト
php artisan migrate:status

設定後の確認項目

  1. 環境変数の読み込み確認
# 設定値の確認
php artisan tinker
>>> env('APP_NAME')
>>> config('database.default')
  1. データベース接続テスト
# データベース接続確認
php artisan db:show

# テストテーブル作成
php artisan migrate:install
  1. キャッシュクリア
# 設定変更後は必ずキャッシュをクリア
php artisan config:clear
php artisan cache:clear

これらの設定が正しく完了すると、Laravelアプリケーションの基本的な動作環境が整います。

インストール後の動作確認とトラブルシューティング

ローカルサーバーの起動と確認方法

Laravelの開発用サーバーを起動して、インストールが正常に完了したか確認しましょう:

# 開発サーバーの起動(デフォルト設定)
php artisan serve

# 特定のホストとポートを指定する場合
php artisan serve --host=0.0.0.0 --port=8080

# HTTPSで起動する場合
php artisan serve --tls

動作確認項目リスト

  1. ブラウザアクセス確認
  • デフォルトURL: http://localhost:8000
  • Laravelウェルカムページの表示
  • コンソールエラーの有無
  1. アプリケーション状態確認
# アプリケーションの健全性チェック
php artisan about

# 設定の確認
php artisan config:show

# ルート一覧の確認
php artisan route:list

一般的なエラーメッセージの解決方法

よくあるエラーとその解決方法を紹介します:

1. 500 Server Error

# ログの確認
tail -f storage/logs/laravel.log

# キャッシュのクリア
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

2. Composer関連のエラー

# 依存関係の再インストール
composer install --no-cache

# オートローダーの再生成
composer dump-autoload

# Composerキャッシュのクリア
composer clear-cache

3. データベース接続エラー

# データベース接続テスト
php artisan db:monitor

# マイグレーションステータス確認
php artisan migrate:status

# 設定キャッシュの再生成
php artisan config:cache

パーミッション設定のトラブル対処

Laravelでよく発生するパーミッション関連の問題と解決方法:

ストレージディレクトリの権限設定

# storage および bootstrap/cache ディレクトリのパーミッション設定
chmod -R 775 storage bootstrap/cache

# Webサーバーユーザーに所有権を与える(Apache/Nginxの場合)
# Ubuntuの例
sudo chown -R $USER:www-data storage bootstrap/cache

# macOSの例
sudo chown -R $USER:staff storage bootstrap/cache

トラブルシューティングチェックリスト

  1. ログファイルの確認
  • storage/logs/laravel.log
  • PHPエラーログ
  • Webサーバーログ
  1. ディレクトリ権限の確認
# 重要なディレクトリの権限確認
ls -la storage/
ls -la bootstrap/cache/
ls -la public/
  1. 環境設定の確認
# 環境変数の読み込みテスト
php artisan tinker
>>> env('APP_KEY')
>>> env('DB_CONNECTION')

# PHPの設定確認
php -i | grep memory_limit
php -i | grep upload_max_filesize

トラブルシューティングのベストプラクティス

  1. エラー発生時の手順:
  • エラーメッセージを正確に記録
  • ログファイルを確認
  • 最近の変更内容を確認
  • 順番にキャッシュクリアを試行
  1. 予防的な対策:
  • 定期的なログの確認
  • パーミッションの定期チェック
  • composerの依存関係を最新に保つ
  • 重要な設定変更後のテスト実施
  1. デバッグモードの活用:
// .envファイル
APP_DEBUG=true

// デバッグバーのインストール(開発環境のみ)
composer require barryvdh/laravel-debugbar --dev

これらの対策と手順を理解しておくことで、多くの一般的な問題に迅速に対応できます。

Laravel Sailで始めるDocker環境構築

Sailのインストールとセットアップ手順

Laravel Sailは、Dockerを使用した軽量な開発環境を提供します。以下の手順で簡単にセットアップできます:

新規プロジェクトでSailを使用する場合

# Sailを含むLaravelプロジェクトの作成
laravel new プロジェクト名 --sail

# プロジェクトディレクトリに移動
cd プロジェクト名

# Sailのインストール(初回のみ)
php artisan sail:install

既存プロジェクトにSailを追加する場合

# Sailパッケージの追加
composer require laravel/sail --dev

# Sailの設定ファイルの公開
php artisan sail:install

サービスの選択オプション
インストール時に以下のサービスを選択可能:

  • MySQL
  • PostgreSQL
  • Redis
  • Memcached
  • Meilisearch
  • Minio
  • Mailhog
  • Selenium

コンテナの起動と基本的な操作方法

Sailを使用したコンテナの基本操作:

基本的なコマンド

# コンテナの起動
./vendor/bin/sail up

# デーモンモードで起動(バックグラウンド実行)
./vendor/bin/sail up -d

# コンテナの停止
./vendor/bin/sail down

# コンテナのステータス確認
./vendor/bin/sail ps

エイリアスの設定(推奨)

# ~/.bashrcまたは~/.zshrcに追加
alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'

# シェルの再読み込み
source ~/.bashrc  # または source ~/.zshrc

主要なSailコマンド一覧

コマンド説明使用例
sail upコンテナを起動sail up -d
sail downコンテナを停止sail down
sail artisanArtisanコマンドを実行sail artisan migrate
sail composerComposerコマンドを実行sail composer require package
sail npmnpmコマンドを実行sail npm install
sail shellコンテナ内でシェルを実行sail shell
sail testテストを実行sail test

開発時の便利な機能

  1. データベース操作
# MySQLに接続
sail mysql

# PostgreSQLに接続
sail psql

# Redis CLIの起動
sail redis
  1. NPM操作
# パッケージのインストール
sail npm install

# 開発サーバーの起動
sail npm run dev
  1. テストの実行
# PHPUnitテストの実行
sail test

# 特定のテストファイルの実行
sail test tests/Feature/ExampleTest.php

Sailを使用することで、開発環境の構築と管理が大幅に簡素化され、チーム間での環境の統一が容易になります。

次のステップ:開発を始めるための準備

推奨される初期設定と設定変更

Laravel開発を効率的に進めるための初期設定について説明します:

1. 開発環境の最適化

# 開発環境用の設定最適化
php artisan optimize:clear

# IDE Helper(PHPStorm等用)のインストール
composer require --dev barryvdh/laravel-ide-helper
php artisan ide-helper:generate
php artisan ide-helper:models
php artisan ide-helper:meta

2. デバッグツールの設定

# Laravel Debugbarのインストール
composer require --dev barryvdh/laravel-debugbar

# Laravel Telescopeのインストール
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate

3. コーディング規約とスタイル設定

# Laravel Pint(コードスタイルフィクサー)のインストール
composer require laravel/pint --dev

# .editorconfigの設定
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

便利な開発ツールのインストール

開発効率を向上させる推奨ツール群:

1. 必須開発ツール

ツール名用途インストールコマンド
Laravel Debugbarデバッグ情報の可視化composer require --dev barryvdh/laravel-debugbar
Laravel Telescopeアプリケーション監視composer require laravel/telescope --dev
Laravel Pintコードスタイル統一composer require laravel/pint --dev
PHPUnitテスト実行(標準搭載)

2. 推奨パッケージ

開発用:

# ダミーデータ生成
composer require --dev fakerphp/faker

# テストアサーション拡張
composer require --dev pestphp/pest

# APIドキュメント生成
composer require --dev knuckleswtf/scribe

本番環境用:

# パフォーマンス最適化
composer require spatie/laravel-responsecache

# 画像処理
composer require intervention/image

# Excel/CSVハンドリング
composer require maatwebsite/excel

開発環境セットアップチェックリスト

  1. 基本設定
  • [ ] デバッグモードの有効化
  • [ ] エラーレポートの設定
  • [ ] ログレベルの調整
  • [ ] CORS設定の確認
  1. 開発ツール
  • [ ] IDE Helper
  • [ ] Debugbar
  • [ ] Telescope
  • [ ] コードスタイルチェッカー
  1. Git設定
# .gitignoreの確認と追加
.env
.env.backup
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.phpunit.result.cache
  1. CI/CD準備
# .github/workflows/tests.yml の例
name: Tests
on: [push, pull_request]
jobs:
  tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
      - name: Install Dependencies
        run: composer install
      - name: Execute tests
        run: php artisan test

これらの設定と準備を整えることで、効率的で保守性の高い開発環境が整います。特に、チーム開発では、これらの標準的なツールと設定を共有することで、コードの品質維持と開発速度の向上が期待できます。