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