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がディレクトリ名です。crecreate-projectの略です。Composerは一意になる長さまでサブコマンドを短くできます。フルサブコマンドは長過ぎるので、creとして短くタイプしましょう。

Homestead環境のPHPバージョンと、ホストのバージョンが同じであれば、ホスト側でインストールしてもかまいません。ホスト側のほうが、コア数とメモリで有利ですから、多少早くなるはずです。さらに、Homesteadを起動せずにホスト側でインストールするほうが、ファイル共有のオーバーヘッドがかからない分だけ早くなります。

ただし、PHPのバージョンにより(主に5系と7系)、依存パッケージとしてインストールされるバージョンが異なることがあります。そのため、Homestead環境とホスト側のPHPバージョンが異なるのであれば、Homestead環境でインストールする必要があります。

安全策は、「つねにHomestead側でComposerを使用する」です。

ホストのブラウザから、install.localへアクセスしましょう。Laravelのデモページが表示されます。