Laravel開発環境構築手順書

傍観者k
投稿日: 2026年02月25日 00:43
# Laravel開発環境構築手順書 **作成日**: 2026年2月3日 **最終更新**: 2026年2月25日 **対象バージョン**: Laravel 6.x **PHP バージョン**: PHP 7.2.18 **Composer バージョン**: 2.9.5 --- ## 目次 1. [環境確認](#1-環境確認) 2. [前提条件](#2-前提条件) 3. [環境構築手順](#3-環境構築手順) 4. [プロジェクト構造](#4-プロジェクト構造) 5. [開発サーバーの起動](#5-開発サーバーの起動) 6. [データベース設定](#6-データベース設定) 7. [よく使うコマンド](#7-よく使うコマンド) 8. [認証機能のセットアップ](#8-認証機能のセットアップ) 9. [トラブルシューティング](#9-トラブルシューティング) --- ## 1. 環境確認 ### 1.1 PHPバージョン確認 ```bash php --version ``` **実行結果**: ``` PHP 7.2.18 (cli) (built: Apr 30 2019 23:32:39) ( ZTS MSVC15 (Visual C++ 2017) x64 ) ``` ### 1.2 Composerバージョン確認 ```bash composer --version ``` **実行結果**: ``` Composer version 2.9.5 ``` --- ## 2. 前提条件 ### 2.1 必要なソフトウェア - **PHP**: 7.2.0 以上(推奨: 7.2.18) - **Composer**: 2.x 系列 - **MySQL/MariaDB**: 5.7 以上(オプション) - **Git**: バージョン管理用(推奨) ### 2.2 PHP拡張モジュール(Laravel 6.x 必須) - OpenSSL PHP Extension - PDO PHP Extension - Mbstring PHP Extension - Tokenizer PHP Extension - XML PHP Extension - Ctype PHP Extension - JSON PHP Extension - BCMath PHP Extension --- ## 3. 環境構築手順 ### 3.1 Composerのアップデート 古いバージョンのComposerを使用している場合、最新版にアップデートします。 ```bash composer self-update ``` **実行結果**: ``` Updating to version 2.9.5 (stable channel). ``` ### 3.2 Laravelプロジェクトの作成 プロジェクトを作成したいディレクトリに移動し、以下のコマンドを実行します。 ```bash composer create-project laravel/laravel myapp "6.*" ``` **パラメータ説明**: - `laravel/laravel`: Laravelのスケルトンプロジェクト - `myapp`: プロジェクト名(任意) - `"6.*"`: Laravel 6系の最新版を指定 **処理内容**: 1. Laravelフレームワークのダウンロード 2. 依存パッケージのインストール(86パッケージ) 3. `.env`ファイルの自動生成 4. オートロードファイルの生成 ### 3.3 プロジェクトディレクトリへ移動 ```bash cd myapp ``` ### 3.4 Laravelバージョン確認 ```bash php artisan --version ``` **実行結果**: ``` Laravel Framework 6.20.45 ``` ### 3.5 アプリケーションキーの確認 `.env`ファイルにアプリケーションキーが自動生成されています。 ```bash # .envファイル内 APP_KEY=base64:CmGfnSp5MWlb/KXXO33Q6MWJMD9xBx7GhigPgXTk3v0= ``` もし`APP_KEY`が空の場合は、以下のコマンドで生成します: ```bash php artisan key:generate ``` --- ## 4. プロジェクト構造 ``` myapp/ ├── app/ # アプリケーションコア │ ├── Console/ # Artisanコマンド │ ├── Exceptions/ # 例外ハンドラ │ ├── Http/ # コントローラー、ミドルウェア │ ├── Models/ # Eloquentモデル │ └── Providers/ # サービスプロバイダー ├── bootstrap/ # フレームワーク起動ファイル ├── config/ # 設定ファイル ├── database/ # データベース関連 │ ├── factories/ # モデルファクトリ │ ├── migrations/ # マイグレーションファイル │ └── seeds/ # シーダーファイル ├── public/ # 公開ディレクトリ(Webルート) ├── resources/ # ビュー、アセット │ ├── js/ # JavaScript │ ├── sass/ # Sass/CSS │ └── views/ # Bladeテンプレート ├── routes/ # ルート定義 │ ├── api.php # APIルート │ ├── channels.php # ブロードキャストチャンネル │ ├── console.php # コンソールルート │ └── web.php # Webルート ├── storage/ # ログ、キャッシュ、セッション ├── tests/ # テストファイル ├── vendor/ # Composerの依存パッケージ ├── .env # 環境設定ファイル ├── .env.example # 環境設定のサンプル ├── artisan # Artisan CLIツール ├── composer.json # Composer依存関係定義 ├── package.json # NPM依存関係定義 └── webpack.mix.js # Laravel Mixの設定 ``` --- ## 5. 開発サーバーの起動 ### 5.1 Artisan開発サーバーの起動 ```bash php artisan serve ``` **実行結果**: ``` Laravel development server started: http://127.0.0.1:8000 ``` ブラウザで `http://127.0.0.1:8000` にアクセスすると、Laravelのウェルカムページが表示されます。 ### 5.2 ポート番号の指定 デフォルトの8000番ポートが使用中の場合: ```bash php artisan serve --port=8080 ``` ### 5.3 ホストの指定 他のPCからアクセスする場合: ```bash php artisan serve --host=0.0.0.0 --port=8000 ``` --- ## 6. データベース設定 ### 6.1 .envファイルの編集 プロジェクトルートの `.env` ファイルを編集します。 ```env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=your_password ``` ### 6.2 データベースの作成 MySQL/MariaDBにログインして、データベースを作成します。 ```sql CREATE DATABASE laravel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` ### 6.3 マイグレーションの実行 ```bash php artisan migrate ``` これにより、デフォルトのテーブル(users, password_resets等)が作成されます。 ### 6.4 SQLiteを使用する場合(開発用) 簡易的にSQLiteを使用する場合: 1. `.env`ファイルを編集: ```env DB_CONNECTION=sqlite DB_DATABASE=/absolute/path/to/database.sqlite ``` 2. データベースファイルを作成: ```bash touch database/database.sqlite ``` 3. マイグレーションを実行: ```bash php artisan migrate ``` --- ## 7. よく使うコマンド ### 7.1 Artisanコマンド一覧 ```bash # コマンド一覧を表示 php artisan list # 特定のコマンドのヘルプを表示 php artisan help migrate ``` ### 7.2 コントローラーの作成 ```bash # 基本的なコントローラー php artisan make:controller UserController # リソースコントローラー(CRUD操作付き) php artisan make:controller UserController --resource ``` ### 7.3 モデルの作成 ```bash # 基本的なモデル php artisan make:model User # モデル + マイグレーション php artisan make:model User -m # モデル + マイグレーション + コントローラー php artisan make:model User -mc ``` ### 7.4 マイグレーション ```bash # マイグレーションファイルの作成 php artisan make:migration create_users_table # マイグレーションの実行 php artisan migrate # 最後のマイグレーションをロールバック php artisan migrate:rollback # 全てのマイグレーションをロールバックして再実行 php artisan migrate:refresh # データベースをリセットして再マイグレーション(シーダー付き) php artisan migrate:fresh --seed ``` ### 7.5 シーダー ```bash # シーダーファイルの作成 php artisan make:seeder UsersTableSeeder # シーダーの実行 php artisan db:seed # 特定のシーダーを実行 php artisan db:seed --class=UsersTableSeeder ``` ### 7.6 キャッシュ管理 ```bash # キャッシュのクリア php artisan cache:clear # ルートキャッシュのクリア php artisan route:clear # 設定キャッシュのクリア php artisan config:clear # ビューキャッシュのクリア php artisan view:clear # 全てのキャッシュをクリア php artisan optimize:clear ``` ### 7.7 その他便利なコマンド ```bash # ルート一覧の表示 php artisan route:list # Tinker(対話型REPL)の起動 php artisan tinker # メンテナンスモードの有効化 php artisan down # メンテナンスモードの無効化 php artisan up ``` --- ## 8. 認証機能のセットアップ ### 8.1 Laravel UIのインストール Laravel 6.xで認証機能を使用するには、Laravel UIパッケージをインストールします。 ```bash # Laravel UIパッケージのインストール composer require laravel/ui ``` ### 8.2 認証スカフォールディングの生成 ```bash # Bootstrap + 認証画面の生成 php artisan ui bootstrap --auth # または Vue.js + 認証画面の生成 php artisan ui vue --auth # または React + 認証画面の生成 php artisan ui react --auth ``` **生成されるファイル**: - `app/Http/Controllers/HomeController.php` - ダッシュボードコントローラー - `resources/views/auth/*` - 認証関連ビュー(ログイン、登録等) - `resources/views/home.blade.php` - ダッシュボードビュー - `routes/web.php` - 認証ルートの追加 ### 8.3 フロントエンドのコンパイル 認証画面を使用するには、Node.jsパッケージをインストールしてアセットをコンパイルします。 ```bash # NPMパッケージのインストール npm install # アセットのコンパイル npm run dev ``` ### 8.4 データベースマイグレーションの実行 認証機能にはusersテーブルが必要です。 ```bash # マイグレーションの実行 php artisan migrate ``` ### 8.5 認証機能の確認 開発サーバーを起動して、以下のURLにアクセスします。 ```bash php artisan serve ``` - **登録**: http://127.0.0.1:8000/register - **ログイン**: http://127.0.0.1:8000/login - **ダッシュボード**: http://127.0.0.1:8000/home(ログイン後) ### 8.6 デフォルト管理者の作成(オプション) Seederを使用してデフォルト管理者アカウントを作成できます。 ```bash # Seederファイルの作成 php artisan make:seeder AdminUserSeeder ``` `database/seeds/AdminUserSeeder.php` を編集: ```php <?php use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Hash; use App\User; class AdminUserSeeder extends Seeder { public function run() { User::create([ 'name' => 'Admin User', 'email' => 'admin@example.com', 'password' => Hash::make('password'), ]); } } ``` `database/seeds/DatabaseSeeder.php` に登録: ```php public function run() { $this->call(AdminUserSeeder::class); } ``` 実行: ```bash php artisan db:seed --class=AdminUserSeeder ``` --- ## 9. トラブルシューティング ### 9.1 "No application encryption key has been specified" **原因**: `APP_KEY`が設定されていない **解決方法**: ```bash php artisan key:generate ``` ### 9.2 storage/logsに書き込めない **原因**: ディレクトリのパーミッション不足 **解決方法**: ```bash # Windows (PowerShell) icacls storage /grant Users:(OI)(CI)F /T icacls bootstrap/cache /grant Users:(OI)(CI)F /T # Linux/Mac chmod -R 775 storage bootstrap/cache ``` ### 9.3 Class not found エラー **原因**: オートロードの問題 **解決方法**: ```bash composer dump-autoload ``` ### 9.4 Composer依存関係の問題 **解決方法**: ```bash # composer.lockとvendorを削除して再インストール rm -rf vendor composer.lock composer install ``` ### 9.5 ポート8000が既に使用されている **解決方法**: ```bash # 別のポートを使用 php artisan serve --port=8080 ``` ### 9.6 Composer 1.xのサポート終了エラー **解決方法**: ```bash # Composer 2にアップデート composer self-update # ロールバックが必要な場合 composer self-update --rollback ``` --- ## 10. 次のステップ ### 10.1 フロントエンド開発環境のセットアップ ```bash # Node.jsとnpmのインストール確認 node --version npm --version # NPMパッケージのインストール npm install # アセットのコンパイル(開発) npm run dev # アセットのコンパイル(本番) npm run production # ファイル監視モード npm run watch ``` ### 10.2 推奨される追加パッケージ **開発ツール**: ```bash # デバッグツール(Laravel Debugbar) composer require barryvdh/laravel-debugbar --dev # IDE用ヘルパー(Laravel IDE Helper) composer require --dev barryvdh/laravel-ide-helper ``` **認証・API開発**: ```bash # 認証UI(Laravel 6.x) composer require laravel/ui # API開発(Laravel Passport - Laravel 6.x) composer require laravel/passport ``` **Markdown関連**(ブログ・記事システム): このプロジェクトでは、フロントエンド側でMarkdownを扱うため、CDNを使用しています: ```html <!-- Markdownエディタ(EasyMDE) --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/easymde@2.18.0/dist/easymde.min.css"> <script src="https://cdn.jsdelivr.net/npm/easymde@2.18.0/dist/easymde.min.js"></script> <!-- Markdown → HTML変換(Marked.js) --> <script src="https://cdn.jsdelivr.net/npm/marked@11.1.1/marked.min.js"></script> <!-- コードハイライト(Highlight.js) --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles/github.min.css"> <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/highlight.min.js"></script> ``` サーバーサイドでMarkdownを処理する場合: ```bash # Markdown パーサー(Laravel向け) composer require graham-campbell/markdown ``` ### 10.3 学習リソース - **公式ドキュメント**: https://laravel.com/docs/6.x - **日本語ドキュメント**: https://readouble.com/laravel/6.x/ja/ - **Laracasts**: https://laracasts.com/ - **Laravel News**: https://laravel-news.com/ --- ## 11. プロジェクト情報 ### 11.1 インストール済みの主要パッケージ | パッケージ | バージョン | 用途 | |----------|----------|------| | laravel/framework | 6.x-dev | Laravelコアフレームワーク | | laravel/tinker | v2.11.0 | 対話型REPL | | phpunit/phpunit | 8.5.52 | テストフレームワーク | | facade/ignition | 1.18.1 | エラーページ | | nunomaduro/collision | v3.2.0 | CLIエラーハンドリング | | fakerphp/faker | v1.20.0 | ダミーデータ生成 | | mockery/mockery | 1.3.6 | モックオブジェクト | ### 11.2 環境設定(.envファイル) ```env APP_NAME=Laravel APP_ENV=local APP_KEY=base64:CmGfnSp5MWlb/KXXO33Q6MWJMD9xBx7GhigPgXTk3v0= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD= BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 ``` --- ## 12. セキュリティに関する注意事項 1. **本番環境では必ず`APP_DEBUG=false`に設定** 2. **`.env`ファイルをGitにコミットしない**(.gitignoreに含まれています) 3. **強力な`APP_KEY`を使用**(自動生成されたものを使用) 4. **データベースの認証情報を適切に管理** 5. **定期的にComposerパッケージを更新** ```bash # セキュリティアップデートの確認 composer outdated # パッケージの更新 composer update ``` --- ## 13. まとめ このドキュメントでは、Laravel 6.x開発環境の構築手順を説明しました。 **構築完了した環境**: - Laravel Framework: 6.20.45 - PHP: 7.2.18 - Composer: 2.9.5 - プロジェクト名: myapp - プロジェクトパス: `d:\develop\Laravel\myapp` **開発を始める基本手順**: 1. プロジェクトディレクトリに移動: `cd myapp` 2. 開発サーバーを起動: `php artisan serve` 3. ブラウザで確認: `http://127.0.0.1:8000` 4. コードを編集して開発開始! --- **最終更新**: 2026年2月25日
最終更新: 2026年03月06日 05:27