Laravel Homesteadを使ったlaravel の開発環境の構築

プログラミング

Laravel Homesteadとは

Laravel Homesteadはlaravelが公式で用意しているvagrant BOXです。

何ができるかというと、開発環境用のLinaxの準備、phpやmiddlewareのインストール、laravelのインストール、DBとの接続まで30分もかからないうちにできてしまいます。

本当にすごいツールですので、ぜひこの記事を参考にインストールしてみてください。

この記事ではすでにVirtualBoxとVagrantがすでにインストール済みという前提で進めますので、まだそこまで済んでないという方は以下の記事を参考にインストールしてみてください

Homestead Vagrant Boxのインストール方法

それでは手順に入っていきましょう!
最初に以下のコマンドをターミナルで打ち込み、HomesteadのVagrantBoxをダウンロードします

vagrant box add laravel/homestead

すると、以下の画像のように仮想環境ソフトウェアのプロバイダーを選択するよう指示が出ます。

今回は前提ですでにVirtualboxを使ってることとしましたので、「3」を選ぶとダウンロードが始まります。ファイルのサイズが1Gバイトあるので、通信環境の良いところでダウンロードすることをおすすめします。終了まで数分待ちます。

今回、バージョンをしていていないので最新版のHomesteadがダウンロードされます。記事作成時(2019年7月23日現在)でバージョンは「V.8.0.0」となってます。

次に以下のコマンド打ち込んで、HomesteadのGithubのリポジトリから立ち上げに必要なソースコードをクローンしてきます

git clone https://github.com/laravel/homestead.git ~/Homestead

こちらのコードの意味としては自分のホームディレクトリ(~(チルダ)はホームディレクトリという意味)から1階層目にHomesteadというフォルダを作成しそこにGitHubのリポジトリを複製するという意味です。

次に安定しているGitのブランチであるreleaseにチェックアウトします。(安定版の方にコードを切り替える)

※余談ですが、Gitの知識はエンジニアになるには必要不可欠な知識なので、ぜひ勉強してください。

次に以下のコマンドをうって、init.shというシェルファイルをバッシュで実行します。

bash init.sh

このファイルはターミナルで打つようなコマンドが書き込まれており、それを順に実行していきます。こちらを実行することで、Homstead.yaml.exampleというファイルが作成されますので、こちらを以下のコマンドでコピーします

cp Homestead.yaml.example Homestead.yaml

こちらのコマンドをうった後は、コピーした「Homestead.yaml」ファイルをエディタで編集していきます。

主に変更すべきは以下の部分で、folderのマップというところは、自分のPCの中で今回開発したいLaravelのプロジェクトを置きたい場所を選択します。こちらで指定したfolderの内部は常にHomesteadで利用してるOSの中でto以下に書かれたファイル内と同期されます。mapに記載するファイルはvagrantを立ち上げる前に作成しておいてください。そうしないと、同期の設定が失敗ます。

また、sites:のmap:に書き込んだドメインをブラウザで打ち込むと、to:以下のフォルダのindexページを探して表示するようになります。

folders:
    - map: ~/code
      to: /home/vagrant/code

sites:
    - map: homestead.test
      to: /home/vagrant/code/public

設定が終わったら、以下のコマンドで仮想環境を立ち上げます

vagrant up

こちらのコマンドを打つとPCのパスワードが要求されることがありますが、「homestead.test」で自動的に名前解決をするために必要なため入力してください。

問題なく起動できれば以下のコマンドを打つことで、仮想環境(ゲストOS)へログインすることができます。

vagrant ssh

そして、Homestead.yamlで共有フォルダに指定したフォルダの中まで移動して以下のようなコマンドをうってそのファイルがホスト側に同期されているか確認します

touch test.php

確認できたら、削除しておきましょう。

次にLaravelのインストールをします。

先ほどの共有フォルダの中に入り、以下のコマンドを打ちましょう

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

そうすると、Laravelがインストールされます。

最後に、ブラウザでHomestead.yamlで設定した「homestead.test」にブラウザでアクセスして、以下の画面が表示されていれば成功です。お疲れ様でした!!

※表示されない時は、Homestead.yamlのsite:の設定を間違えていることが多いです。Laravelはpublicのしたのフォルダのindex.phpを最初に見に行くので、vagrant内のファイル構造が指定した構造と一致しているか確認してください。