【Mac】HomesteadとVagrantでLaravelの環境を構築してみよう

 今日は実に気持ちの良い天気ですね。春の到来を徐々に感じる時期になってきましたね。

 さて、日頃から使用することの多いLaravelですが、今回はLaravelの仮想環境をHomesteadとVagrantを使って構築してみたいと思います。

環境

 なお、今回の環境は以下の通りとなります。

今回の環境

  • MacOS Mojave 10.14
  • vagrant 2.2.3
  • Laravel 5.8系

Vagrantインストール

 では、早速環境構築していきましょう。

 まずは、今回はvagrantを使用するのでvagrantのインストールをします。既にインストールされている方は飛ばしてください。

 Vagrantの公式サイトのダウンロードページからMacOSのリンクをクリックしてdmgファイルをダウンロードします。

 ダウンロードしたファイルを実行してインストールが完了したら、念のための下記コマンドでバージョンの確認をします。

VirtualBoxインストール

 Vagrantをインストールしたら一応VirtualBoxもインストールしておきましょう。

 VirtualBoxはこちらからダウンロードできます。

 MacOSに該当するファイルをダウンロードして実行してインストールしてください。

Homestead環境を構築

 VagrantとVirtualBoxをインストールしたら下準備は完了です。

 それでは、Laravelの公式サイトのHomesteadのチュートリアルに沿ってHomestead環境を構築していきます。

 とりあえず、ホームディレクトリに移動してから諸々進めていきます。

Homestead Vagrant Boxのインストール

 まずは、HomesteadのVagrant Boxをインストールしていきます。

 Vagrantをインストールしたばかりであれば何もBoxは出来ていないと思うので問題ありませんが、既にVagrantを使用しており他のBoxを作成している方は、一応Boxが起動されてないか確認しておきましょう。

 もし、起動しているものがあれば下記コマンドで停止しておきます。

 この一連の流れはVirtualBoxでも可能なので、GUIで操作したい方はVirtualBoxを使用してみてください。

 VagrantのBoxの起動状況等を確認したら、下記コマンドでHomesteadのVagrant Boxをインストールします。

Homesteadのインストール

 続いて、下記コマンドでHomesteadのインストールをします。

 インストールが完了したらホームディレクトリに「Homestead」というディレクトリが出来ていると思うので、Homesteadディレクトリに移動しておきます。

 公式サイトのガイドによれば最新の安定バージョンにチェックアウトするべきとのことなので、それに沿ってチェックアウトしておきます。最新の安定版はこちらのページで確認することができます。

 現時点の最新の安定版はv8.2.0なので、このバージョンにチェックアウトします。

Homestead.yamlの作成

 クローンが完了したら、Homesteadの設定に必要なHomestead.yamlファイルを作成します。「Homestead」ディレクトリ内にHomestead.yamlファイルが既に出来ている方は飛ばしてください。ファイルがない場合は下記コマンドで生成しましょう。

秘密鍵の生成

 続いて、Homesteadの設定に秘密鍵が必要になってくるので生成しておきます。

 まず、ホームディレクトリにある「.ssh」ディレクトリに移動します。

 移動したら下記フォーマットで秘密鍵を生成します。

 今回は「id_rsa_homestead」というファイル名で生成したいと思います。メールアドレスは適宜ご自身の環境に合わせて指定してください。

 生成段階でパスフレーズを聞かれると思うので、任意のパスフレーズを設定しましょう。

 これで秘密鍵が生成されると思います。念の為、秘密鍵が無事に生成されているか確認しておきます。

Laravelをインストールするディレクトリの生成

 続いて、最終的にLaravelをインストールするディレクトリをあらかじめ生成しておきます。

 今回は、ホームディレクトリに「code」というディレクトリを生成したいと思います。

Homesteadの設定

 ここまで終わったら、Homestead.yamlファイルを開いて環境に合わせて編集して設定していきます。

 今回は下記の通り環境に合わせて編集します。

 重要な箇所は、「provider」、「authorize」、「keys」、「folders」、「sites」になります。

 providerの箇所は今回使用するプロバイダーになるので「virtualbox」を設定し、「authorize」と「keys」の箇所にはさきほど生成した秘密鍵の場所を設定します。「folders」の箇所は「map」がローカルの場所になるので、さきほど生成したディレクトリ(~/code)を設定します。「site」の「map」にはブラウザでアクセスする際の開発用ドメインを設定します。

hostsファイルの編集

 続いて、開発用ドメインにローカルからアクセスできるようにMacのhostsファイルを編集します。

 hostsファイルは「/etc/hosts」にあるので、viコマンド等で開きます。

 hostsファイルを開いたら下記のコードを追記します。

 追記したら、「:wq」コマンドで保存します。

 これで一通りHomesteadの環境構築は完了です。

Vagrantを起動してSSHログイン

 では、実際にVagrantを起動していきましょう。

 まず、Homesteadディレクトリに移動します。

 続いて、下記コマンドでHomesteadのVagrant Boxを起動します。

 起動中パスワードを聞かれると思うので、Macのパスワードを入力します。

 無事に起動できたら、今度は下記コマンドでsshログインをします。

 ログインしたら「/home/vagrant/」ディレクトリに「code」というディレクトリがあるか確認しましょう。

 もしできていない場合は作成してください。

Laravelのインストール

 そうしましたら、「code」ディレクトリに移動してLaravelをインストールしていきます。

 まずは、「code」ディレクトリに移動。

 移動したら、Lravelをインストールします。今回は最新版の5.8をインストールしたいと思います。プロジェクト名はとりあえず「laravel」にしておきます。

 これでLaravelのインストールが完了しました。

 codeディレクトリに「laravel」というディレクトリが出来ていると思います。

 Mac側の「~/code/」にも「laravel」というディレクトリが出来ていると思います。

Homesteadの再設定

 これで基本的な設定は完了なのですが、この状態で「http://homestead.test/」にアクセスしてみても「No input file specified.」と表示されてlaravelの画面が表示されないと思います。

 これはHomestead.yamlファイルで設定した「folders」の箇所が間違っているということなので再度修正しなければなりません。

一旦「exit」でログアウトして、Vagrantも一旦停止します。

 再度、Homestead.yamlファイルを開いて「folders」の「map」を下記のように編集します。

 そして再度、Vagrantを起動すれば完了です。

 「http://homestead.test/」にアクセスしてみるとLaravelの画面が表示されると思います。

まとめ

 ということで、今回はLaravelの仮想開発環境をHomesteadとVagrantで構築する方法を紹介しました。

 仮想環境があると何かと便利で効率的に作業ができるのでいいですね。

 てことで、今回はここまで!また!

お仕事のご相談・ご依頼
お気軽にお問い合わせください!

お仕事の依頼はこちら

シェアありがとうございます!

タグ
laravel PHP

著者プロフィール

Takanori Hashi

東京、奄美大島、宮崎の3拠点生活をしたい30代のおじさん。仕事の傍、子育て&趣味に精を出す一児のパパ。普段はプログラム書いたりデザインしたりWeb関連のお仕事をしています。TwitterもInstagramも基本フォローバックするのでお気軽にフォローしてください!

人気記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です