Laravel5.5LTS、AtoZ#2、Laravelのインストール
タグ: Laravel5.5
AtoZシリーズ第2弾です。今回はLaravelフレームワークをインストールします。
Homestead.yaml
使用するドメインを決めましょう。ローカルで使用するだけですので、何でも自由に決められます。この記事では、install.localとします。
Homestead.yamlファイルを編集し、Nginxホストとファイル共有を設定しましょう。
folders:
- map: ~/install
to: /home/vagrant/install
sites:
- map: install.local
to: /home/vagrant/install/public
Laravelを始め、多くのPHPシステムやフレームワークでは、ドキュメントルートとしてpublicがよく使用されます。このディレクトへアクセスするようにします。
Webサーバーでは、通常ドキュメントルートから上の階層へのアクセスは難しいように設定します。ドキュメントルートとPHPコードを分離することで直接のアクセスを防ぎ、安全性を増すグッドプラクティスです。
Homestead環境が既に起動されている場合は、vagrant reload --provision、まだ起動していない場合は、vagrant up --provisionを実行します。
共有ファイルの変更はVagrantの動作の設定であるため、プロビジョニングが必要なく、オプション指定の必要もありません。Nginxホストの設定を反映するには、
/etc/nginx/sites-enabledディレクトリ下にある、NginxのHost設定ファイルを再生成するため、プロビジョニングをやり直す必要があります。
続いて、/etc/hostsにドメイン名、install.localを追加するのをお忘れなく。
Laravelのインストール
vagrant sshで接続し、共有設定で指定したディレクトリへ移動します。
Composerを使用し、Laravelをインストールしましょう。
composer cre laravel/laravel install
今回、installがディレクトリ名です。creはcreate-projectの略です。Composerは一意になる長さまでサブコマンドを短くできます。フルサブコマンドは長過ぎるので、creとして短くタイプしましょう。
Homestead環境のPHPバージョンと、ホストのバージョンが同じであれば、ホスト側でインストールしてもかまいません。ホスト側のほうが、コア数とメモリで有利ですから、多少早くなるはずです。さらに、Homesteadを起動せずにホスト側でインストールするほうが、ファイル共有のオーバーヘッドがかからない分だけ早くなります。
ただし、PHPのバージョンにより(主に5系と7系)、依存パッケージとしてインストールされるバージョンが異なることがあります。そのため、Homestead環境とホスト側のPHPバージョンが異なるのであれば、Homestead環境でインストールする必要があります。
安全策は、「つねにHomestead側でComposerを使用する」です。
ホストのブラウザから、install.localへアクセスしましょう。Laravelのデモページが表示されます。