「Laravel - 設定」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == <br><br> == ディレクトリ構造 == 新しいLaravelプロジェクトを作成する。<br> composer create-project laravel/laravel <プロジェクト名> <br> * app *: アプリケーションのコアコードを配置する。 ** Http/Controllers **: コントローラクラス ** Models **: Eloquentモデル ** Providers **: サービスプロバイダ * config *: 設定ファイルを格納する。 ** app.php **: アプリケーション…」)
 
109行目: 109行目:
  DB_USERNAME=<データベースのユーザ名>
  DB_USERNAME=<データベースのユーザ名>
  DB_PASSWORD=<データベースのパスワード>
  DB_PASSWORD=<データベースのパスワード>
<br><br>
== アプリケーションキーの生成 ==
Laravelアプリケーションの暗号化キーを生成する。<br>
php artisan key:generate
<br>
.envファイル内のAPP_KEYの値を設定する。<br>
これは、32文字のランダムな文字列が生成される。<br>
<br>
アプリケーションキーは以下に示す用途で使用される。<br>
* セッションデータの暗号化
* クッキーデータの暗号化
* その他の機密データの暗号化
<br>
<u>※重要性</u><br>
* アプリケーションのセキュリティに不可欠である。
* アプリケーションを初めて設定する際に必ず実行する必要がある。
* キーが設定されていない場合、アプリケーションは安全に動作しない。
<br><br>
== データベースのマイグレーション ==
データベースの構造を作成・更新する。
php artisan migrate
<br>
database/migrationsディレクトリ内のマイグレーションファイルを実行する。<br>
テーブルの作成、修正、削除等のデータベース構造の変更を行う。<br>
<br>
また、マイグレーションの実行履歴をデータベースのmigrationsテーブルで管理する。<br>
<br>
特徴<br>
* データベース構造をバージョン管理できる。
* チーム開発時にデータベース構造を共有できる。
* ロールバック可能
*: <code>php artisan migrate:rollback</code>
* 開発環境と本番環境で同じ構造を保証できる。
<br><br>
== ストレージディレクトリのシンボリックリンク作成 ==
パブリックからアクセス可能なストレージへのシンボリックリンクを作成する。
php artisan storage:link
<br>
public/storageからstorage/app/publicへのシンボリックリンクを作成する。<br>
アップロードされたファイルへのパブリックアクセスを可能にする。<br>
<br>
<u>使用例と重要性</u><br>
* ユーザーがアップロードした画像を表示する。
* パブリックにアクセス可能なファイルを管理する。
* セキュアなストレージ構造を維持しながら、必要なファイルへのアクセスを提供する。
<br>
<u>実行するタイミング</u><br>
* アプリケーションの初期セットアップ時
* ファイルアップロード機能を実装する際
* 本番環境へのデプロイ時
<br><br>
<br><br>



2024年11月3日 (日) 09:22時点における版

概要



ディレクトリ構造

新しいLaravelプロジェクトを作成する。

composer create-project laravel/laravel <プロジェクト名>


  • app
    アプリケーションのコアコードを配置する。
    • Http/Controllers
      コントローラクラス
    • Models
      Eloquentモデル
    • Providers
      サービスプロバイダ
  • config
    設定ファイルを格納する。
    • app.php
      アプリケーションの基本設定
    • database.php
      データベース接続設定
    • auth.php
      認証設定
  • database
    • migrations
      データベースマイグレーションファイル
    • seeders
      データベースシーダ
    • factories
      モデルファクトリ
  • routes
    • web.php
      Web用ルート定義
    • api.php
      API用ルート定義
  • resources
    • views
      Bladeテンプレート
    • css
      CSSファイル
    • js
      JavaScriptファイル
  • public
    公開ディレクトリ
    • index.php
      エントリーポイント
    • アセットファイル
      画像、CSS、JS等
  • storage
    • app
      アプリケーションが生成するファイル
    • logs
      ログファイル
    • framework
      フレームワークが生成する一時ファイル



.env

.envファイルの配置

Laravelのプロジェクトディレクトリ直下にenvディレクトリを作成する。

cd <Laravelのプロジェクトディレクトリ>
mkdir env


次に、以下に示すような本番向け、開発向け等に名前を分けてディレクトリを作成する。

cd env
mkdir dev     \  # 開発向け
      staging \  # 評価・試験向け
      prod       # 本番向け


この時、プロジェクトディレクトリ直下に存在する.envファイルを、各ディレクトリにコピーする。
また、プロジェクトディレクトリ直下にある既存の.envファイルは削除すること。

.envファイルの切り替え

.envファイルの読み込みは、Laravelのプロジェクトディレクトリ直下にあるbootstrap/app.phpファイルで指定する。

サーバ情報からホスト名を取得して切り替える。

 // bootstrap/app.phpファイル
 
 // 追記
 switch ($_SERVER['HTTP_HOST'] ?? 'localhost') {
    case 'localhost':              // 開発向け
       $app->loadEnvironmentFrom('env/dev');
       break;
    case 'staging.maydomain.com':  // 評価・試験向け
       $app->loadEnvironmentFrom('env/staging');
       break;
    case 'prod.maydomain.com':     // 本番向け
       $app->loadEnvironmentFrom('env/prod');
       break;
 }


キャッシュの更新

キャッシュを更新 (configのキャッシュ再生成) して、各環境で正常に画面が表示されることを確認する。

php artisan config:cache


.envファイルの設定

APP_NAME=<アプリケーション名>
APP_ENV=local
APP_KEY=<自動生成される>
APP_DEBUG=<true または false  開発向けはdebugを指定する>
APP_URL=<WebサイトのURL  例: http://localhost>

DB_CONNECTION=<データベース  例: mysql>
DB_HOST=<データベースのホスト名  127.0.0.1>
DB_PORT=<データベースに接続するポート番号  例: 3306>
DB_DATABASE=<データベース名>
DB_USERNAME=<データベースのユーザ名>
DB_PASSWORD=<データベースのパスワード>



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

Laravelアプリケーションの暗号化キーを生成する。

php artisan key:generate


.envファイル内のAPP_KEYの値を設定する。
これは、32文字のランダムな文字列が生成される。

アプリケーションキーは以下に示す用途で使用される。

  • セッションデータの暗号化
  • クッキーデータの暗号化
  • その他の機密データの暗号化


※重要性

  • アプリケーションのセキュリティに不可欠である。
  • アプリケーションを初めて設定する際に必ず実行する必要がある。
  • キーが設定されていない場合、アプリケーションは安全に動作しない。



データベースのマイグレーション

データベースの構造を作成・更新する。

php artisan migrate


database/migrationsディレクトリ内のマイグレーションファイルを実行する。
テーブルの作成、修正、削除等のデータベース構造の変更を行う。

また、マイグレーションの実行履歴をデータベースのmigrationsテーブルで管理する。

特徴

  • データベース構造をバージョン管理できる。
  • チーム開発時にデータベース構造を共有できる。
  • ロールバック可能
    php artisan migrate:rollback
  • 開発環境と本番環境で同じ構造を保証できる。



ストレージディレクトリのシンボリックリンク作成

パブリックからアクセス可能なストレージへのシンボリックリンクを作成する。

php artisan storage:link


public/storageからstorage/app/publicへのシンボリックリンクを作成する。
アップロードされたファイルへのパブリックアクセスを可能にする。

使用例と重要性

  • ユーザーがアップロードした画像を表示する。
  • パブリックにアクセス可能なファイルを管理する。
  • セキュアなストレージ構造を維持しながら、必要なファイルへのアクセスを提供する。


実行するタイミング

  • アプリケーションの初期セットアップ時
  • ファイルアップロード機能を実装する際
  • 本番環境へのデプロイ時