インストール
動画で学びたい? Laracastsではフレームワークの初学者のために、無料のLaravel全体を紹介する動画を英語で提供しています。学び始めるには最適の場所です。
サーバ要件
Laravelフレームワークを動作させるには多少のシステム要件があります。もちろん、Laravel Homestead仮想マシンでは、要求が全て満たされています。ですから、Laravelのローカル開発環境としてHomesteadを活用されることを強くおすすめします。
しかし、Homesteadを使用しない場合は、以下の要件を満たす必要があります。
- PHP >= 5.6.4
- OpenSSL PHP拡張
- PDO PHP拡張
- Mbstring PHP拡張
- Tokenizer PHP拡張
- XML PHP拡張
Laravelのインストール
LaravelはComposerを依存パッケージの管理に使用しています。ですから、Laravelを始める前に、自分の開発機にComposerを確実にインストールしておいてください。
Laravelインストーラ
最初にComposerを使用し、Laravelインストーラをダウンロードします。
composer global require "laravel/installer"
システムのどこからでもlaravel
が実行できるように、実行ファイルパスの$PATH
で、$HOME/.composer/vendor/bin
ディレクトリ(OSにより場所は異なります)を確実に指定してください。
インストールし終えたら、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
もちろん、より堅牢なローカル開発の選択肢として、HomesteadとValetも利用できます。
設定
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
ファイルと、その中の記述を確認しておいたほうが良いでしょう。アプリケーションに合わせ変更したい、timezone
やlocal
のような多くのオプションが含まれています。
以下のようなLaravelのコンポーネントについても、設定しておいたほうが良いでしょう。
Webサーバ設定
きれいなURL
Apache
URLパスにフロントコントローラのindex.php
を付けなくても良いように、Laravelはpublic/.htaccess
ファイルを用意しています。LaravelをApache上で動作させるときは、確実にmod_rewrite
モジュールを有効に設定し、そのサーバで.htaccess
ファイルを動作させます。
Laravelに用意されている.htaccess
ファイルが、インストールしたApacheで動作しない場合は、以下の代替設定を試してください。
Options +FollowSymLinks
RewriteEngine On
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;
}
もちろん、HomesteadかValetを使用する場合は、きれいなURLの設定は自動的に行われます。