1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laravel Homestead でLaravel 開発環境を構築してみた

Last updated at Posted at 2019-04-17

概要

Laravel HomesteadというLaravel公式の仮想マシンで、
Laravel開発環境を構築してみました。
ここではその構築手順を記載します。

このLaravel Homesteadでは必要なソフトウェアが仮想環境内に入っていて、
ローカルマシンにそれぞれインストールせずに環境構築を完了できます。
Laravel公式ページで推奨されているやり方です(2019/04/01当時)。

注意事項、留意点

  • 基本的には公式ドキュメントを参考にしてます
  • というよりほぼそれを見て構築しました。
  • 他の仮想化ソフトウェアでもOKらしいです(VMWareなど)が、無料なのでVirtualBoxを使いました。

前提条件

  • バージョン
    • OS: MacOS 10.14.2
    • VirtualBox: 6.0.4
    • Vagrant: 2.2.4
    • laravel: 5.8
  • 更新日
    • 2019/04/17

実際の手順

1. VirtualBoxのインストール(インストールしてない場合のみ)

  • VirtualBoxからダウンロードします
    • お使いのOSのhostsを選んでクリックし、ダウンロードします
  • ダウンロードされたdmgファイルをクリックします
  • pkgファイルのアイコンが表示されるので、それをダブルクリックしします
  • そのあとはインストール画面に則ってインストールします
    • 「安全でないアプリケーション」等が出てインストールできない場合は、以下を確認してください
      • 左上のアップルマーク →「システム環境設定」 →「セキュリティとプライバシー」
    • 左下の鍵マークをクリックしてインストールの許可を行ってください
  • VirtualBoxがアプリケーションに表示されていればOKです

2. Vagrant のインストール(インストールしてない場合のみ)

  • Vagrantからダウンロードします
    • お使いのOSを選んでクリックし、ダウンロードします
  • ダウンロードされたdmgファイルをクリックします
  • pkgファイルのアイコンが表示されるので、それをダブルクリックします
  • そのあとはインストール画面に則ってインストールします(怒られたらVirtualBoxと同様に対応してください)
  • ターミナルでvagrant -vを叩いて、バージョン情報が表示されればOKです(こちらはアプリケーションに出ません)

3. Homestead Vagrant Boxのインストール

  • Laravel用のボックス(ベースとなるイメージ)であるHomestead Vagrant Boxを以下コマンドでインストールします
  • これを叩くことで、複数の環境で laravel/homestead ボックスを呼び出せるようになります
vagrant box add laravel/homestead
  • 途中provider を選択する箇所があるので、VirtualBoxを選択します
  • 問題なくいけば成功です
  • Vagrantのバージョンが古い場合に失敗する可能性があるらしいので、その場合はバージョンを確認してみてください

4. Homesteadのインストール

  • Homestead をリポジトリからクローンします
git clone https://github.com/laravel/homestead.git ~/Homestead
  • masterだと安定しない可能性があるため、バージョンタグがついたHomesteadをチェックアウトします
    (私が見た時の最新バージョンはv8.2.0でした)
cd ~/Homestead
git checkout v8.2.0
  • Homestead.yaml設定ファイルを生成する用のバッシュコマンドを実行します
    (init.shファイルの中をみたらわかりますが、resourceディレクトリ内のyamlファイルをコピーしているだけです)
bash init.sh

5. Homesteadの設定

  • Homestead.yaml内のprovidervirtualboxに書き換えます
    (デフォルトがvirtualboxになっていたので書き換え不要でしたが、一応確認しましょう)
provider: virtualbox
  • Homestead.yaml内のfoldersを書き換え、共有フォルダを設定します
    (ここでは/laravel/environment_homestead/ディレクトリを作って、この中のディレクトリ全てをHomestead環境と同期するようにします)
folders:
    - map: ~/laravel/environment_homestead
      to: /home/vagrant/code
      type: "nfs"

6. Nginxの設定

  • Homestead.yaml内のsitesを書き換え、Nginxを設定します
    (ここではstartlaravelという名前のlaravelプロジェクトをあとで作成することを前提としています)
sites:
    - map: homestead.test
      to: /home/vagrant/code/startlaravel/public

7. hostsファイルの書き換え

  • /etc/hostsファイルに以下を追加し、ローカルドメインへのリクエストをHomesteadに転送されるようにします
192.168.10.10  homestead.test

8. Vagrantの起動、ssh接続

  • 以下コマンドでvagrantを起動します
vagrant up
  • 以下コマンドでssh接続します
vagrant ssh

9. vagrant内でLaravelプロジェクトを作成

  • 以下コマンドでcodeディレクトリに移動して、laravelプロジェクトを作成します
    (ここでは startlaravelというプロジェクトを開始しますが、何でも構いません。ただし6で行ったNginxの設定と同じディレクトリルートにしましょう)
vagrant@homestead:~$ cd code
vagrant@homestead:~/code$ composer create-project --prefer-dist laravel/laravel startlaravel

10. サイトを開く

  • http://homestead.testで以下の画面が表示されればOKですスクリーンショット 2019-04-17 21.39.05.png

参照

以下のサイトを参考にしました。

Laravel Homestead イントロダクション
Homestead GitHubリポジトリ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?