Laravel 7.x インストール

インストール

サーバ要件

Laravelフレームワークを動作させるには多少のシステム要件があります。Laravel Homestead仮想マシンでは、要求がすべて満たされています。そのため、Laravelのローカル開発環境としてHomesteadを活用されることを強く推奨します。

しかし、Homesteadを使用しない場合は、以下の要件を満たす必要があります。

  • PHP >= 7.2.5
  • BCMath PHP拡張
  • Ctype PHP拡張
  • Fileinfo PHP extension
  • JSON PHP拡張
  • Mbstring PHP拡張
  • OpenSSL PHP拡張
  • PDO PHP拡張
  • Tokenizer PHP拡張
  • XML PHP拡張

Laravelのインストール

LaravelはComposerを依存パッケージの管理に使用しています。ですから、Laravelを始める前に、自分の開発機にComposerを確実にインストールしておいてください。

Laravelインストーラ

最初にComposerを使用し、Laravelインストーラをダウンロードします。

composer global require laravel/installer

皆さんのシステムのどこでlaravel実行ファイルが設置されても動作するように、Composerのシステム全体のvendor/binディレクトリを$PATHへ登録してください。このディレクトリはオペレーティングシステムにより場所が異なります。通常は、以下の場所です。

  • macOS: $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  • GNU/Linuxディストリビューション: $HOME/.config/composer/vendor/binもしくは、$HOME/.composer/vendor/bin

グローバルなComposerのインストールパスを見つけるには、composer global aboutを実行し、最初の行を確認してください。

インストールし終えたら、laravel newコマンドにより、指定したディレクトリに真新しいLaravelプロジェクトを作成できます。たとえば、laravel new blogを実行すると、blogという名前のディレクトリへ、必要とするパッケージが全部揃った、真新しいLaravelがインストールされます。

laravel new blog

Composer Create-Project

ターミナルでComposerのcreate-projectコマンドを実行し、Laravelをインストールする方法もあります。

composer create-project --prefer-dist laravel/laravel blog

ローカル開発サーバ

PHPがローカルにインストール済みで、PHPの組込み開発サーバをアプリケーションサーバとして使いたい場合は、serve Artisanコマンドを使用します。このコマンドは、開発サーバをhttp://localhost:8000として起動します。

php artisan serve

より堅牢なローカル開発の選択肢として、HomesteadValetも利用できます。

設定

Publicディレクトリ

Laravelをインストールできたら、Webサーバのドキュメント/Webルートがpublicディレクトリになるように設定してください。このディレクトリのindex.phpは、アプリケーションへ送信された、全HTTPリクエストを始めに処理するフロントコントローラとして動作します。

設定ファイル

フレームワークで使用する設定ファイルは、すべてconfigディレクトリ下に設置しています。それぞれのオプションにコメントがついていますので、使用可能なオプションを理解するため、ファイル全体に目を通しておくのが良いでしょう。

ディレクトリパーミッション

Laravelをインストールした後に、多少のパーミッションの設定が必要です。storage下とbootstrap/cacheディレクトリをWebサーバから書き込み可能にしてください。設定しないとLaravelは正しく実行されません。Homestead仮想マシンを使用する場合は、あらかじめ設定されています。

アプリケーションキー

次にインストール後に行うべきなのは、アプリケーションキーにランダムな文字列を設定することです。ComposerかLaravelインストーラを使ってインストールしていれば、php artisan key:generateコマンドが、あらかじめ設定しています。

通常、この文字列は32文字にすべきです。キーは.env環境ファイルに設定されます。もし、.env.exampleファイルをまだ.envへコピーしていなければ、今すぐ行ってください。アプリケーションキーが設定されていなければ、ユーザーセッションや他の暗号化済みデーターは安全でありません!

その他の設定

Laravelのその他の設定は、最初に指定する必要がありません。すぐに開発を開始しても大丈夫です! しかし、config/app.phpファイルと、その中の記述を確認しておいたほうが良いでしょう。アプリケーションに合わせ変更したい、timezonelocalのような多くのオプションが含まれています。

以下のようなLaravelのコンポーネントについても、設定しておいたほうが良いでしょう。

Webサーバ設定

ディレクトリ設定

Laravelは常にWebサーバで設定した「Webディレクトリ」のルートから提供する必要があります。「Webディレクトリ」のサブディレクトリでLaravelアプリケーションを提供しようと試みてはいけません。そうした試みはアプリケーションの中に存在するセンシティブなファイルを曝してしまう可能性があります。

きれいなURL

Apache

URLパスにフロントコントローラのindex.phpを付けなくても良いように、Laravelはpublic/.htaccessファイルを用意しています。LaravelをApache上で動作させるときは、確実にmod_rewriteモジュールを有効に設定し、そのサーバで.htaccessファイルを動作させます。

Laravelに用意されている.htaccessファイルが、インストールしたApacheで動作しない場合は、以下の代替設定を試してください。

Options +FollowSymLinks -Indexes
RewriteEngine On

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx

Nginxを使用する場合は、すべてのリクエストがindex.phpフロントコントローラへ集まるように、サイト設定に以下のディレクティブを使用します。

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

HomesteadValetを使用する場合は、きれいなURLの設定は自動的に行われます。

ドキュメント章別ページ

ヘッダー項目移動

注目:アイコン:ページ内リンク設置(リンクがないヘッダーへの移動では、リンクがある以前のヘッダーのハッシュをURLへ付加します。

移動

クリックで即時移動します。

設定

適用ボタンクリック後に、全項目まとめて適用されます。

カラーテーマ
和文指定 Pagination
和文指定 Scaffold
Largeスクリーン表示幅
インデント
本文フォント
コードフォント
フォント適用確認

フォントの指定フィールドから、フォーカスが外れると、当ブロックの内容に反映されます。EnglishのDisplayもPreviewしてください。

フォント設定時、表示に不具合が出た場合、当サイトのクッキーを削除してください。

バックスラッシュを含むインライン\Code\Blockの例です。

以下はコードブロックの例です。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * ユーザに関連する電話レコードを取得
     */
    public function phone()
    {
        return $this->hasOne('App\Phone');
    }
}

設定を保存する前に、表示が乱れないか必ず確認してください。CSSによるフォントファミリー指定の知識がない場合は、フォントを変更しないほうが良いでしょう。

キーボード・ショートカット

オープン操作

PDC

ページ(章)移動の左オフキャンバスオープン

HA

ヘッダー移動モーダルオープン

MS

移動/設定の右オフキャンバスオープン

ヘッダー移動

T

最初のヘッダーへ移動

E

最後のヘッダーへ移動

NJ

次ヘッダー(H2〜H4)へ移動

BK

前ヘッダー(H2〜H4)へ移動

その他

?

このヘルプページ表示
閉じる