search
LoginSignup
8
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Laravel 5.5のアプリをhomestead上で動かした


5.2で書いた設定だけど、5.5でも動いたので、タイトルは5.5に買えました。

ローカルで適当に構築してあるlaravelがうまく動かなかったので環境周りの問題を切り離したかったから、homesteadを使ってみることにした。Laravel公式のhomesteadドキュメントはここ

  • homesteadは開発用の仮想環境の準備を便利にしてくれるツール。
  • homesteadはLaravel公式が用意してくれている。
  • Laravelのバグを疑うときは、homestead環境で疑うといい。

仮想マシンのライブラリ

仮想マシン(VM(VirtualMachine))のプラットフォームは、VirtualBoxVMWareを選べるがVMWareはダウンロードと行ってもどれをダウンロードしたらいいのかわかりにくいので、自分にとってはVirtualBox一択。

自分の前提条件

  • PCはMacでやっています。Mac OS X Yosemiteです。
  • githubのアカウントとかは持っています。Xcodeの開発用ライブラリもインストールすんでいます。
  • composerのインストールもすんでる。
  • phpもローカルにインストールはすんでる。
  • Vagrantはrubyで動くのでrubyのインストールが必要。
  • Laravelで作るアプリはすでにlaravel newして作ってある。

VirtualBoxのインストール

VirtualBox 5.xのバージョンが利用できるとのことなので、
https://www.virtualbox.org/wiki/Downloads
このページからVirtualBox binariesの「VirtualBox 5.0.12 for OS X hosts amd64」ってのを選んでダウンロード。

ダウンロードしたdmgファイルを開いてinstall.pkg(だったかな)をダブルクリックしてインストールしていくだけ。設定とか無いのではいはいってインストールするだけ。

簡単。

vagrantのインストール

Hasicorpのvagrantのページ https://www.vagrantup.com からDownloadページに行って、「MAC OS X Universal (32 and 64-bit)」をダウンロードしてdmgファイルを開いて、install.pkg(だったかな)をダブルクリックして、設定とか無いのではいはいってインストールするだけ。

簡単。

boxのダウンロード

仮想環境のテンプレみたいなもの。テンプレとなるboxをダウンロードしておく。データでかくて2,3GB使うからディスクに余裕と、お家か会社のネットワークでやりましょうね。

vagrant box add laravel/homestead

ローカルにあるLaravelプロジェクトをhomesteadで立ち上げる

公式ドキュメントだとまだ何もしてない場合みたいな感じでやってるけど、すでにLaravel installとかしてるときのことが後ろの方に書いてあるので、英語読めない自分にはちょっと気づきにくかった。

コンポーザーでhomesteadをローカルプロジェクトにインストール

composer require laravel/homestead --dev

これでvendor/laravel/homesteadにファイルがダウンロードされてインストールされる。

設定ファイルの生成

homestead makeというコマンドがあって、プロジェクトのルートディレクトリでこのコマンド打つと、このプロジェクト用のVagrantfileとhomestead.yamlの設定を自動生成してくれる。

自分のアプリは、/Users/yourname/developmentの場所で、laravel new blogって最初に作った。
アプリは、/Users/yourname/development/blogにある。
そのディレクトリに移動して。

php vendor/bin/homestead make

ってすると設定ファイルできた。

環境の設定ファイルの中を見てみる。

Homestead.yaml

ファイルの中身はこんな感じ。
foldersとsitesの設定がどこに何かくのか英語じゃわからなかったけどこれならわかる。

Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
hostname: blog
name: blog
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: "/Users/yourname/development/blog"
      to: "/home/vagrant/blog"

sites:
    - map: homestead.app
      to: "/home/vagrant/blog/public"

databases:
    - homestead

この設定ファイルだと、IPアドレス192.168.10.10に、homestead.appってドメイン名で設定しましたってなってます。

homestead.appをhostsファイルに追加

sudo vi /etc/hostsして192.168.10.10 homestead.appの行を足す。

起動して動くかチェック

vagrant up

プロジェクトがhomesteadで仮想環境が立ち上がった。
vagrant upではネットワークの環境設定とかも勝手にやってくれるみたいね。

vagrant ssh

ssh接続してなかみるなら↑。

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
What you can do with signing up
8
Help us understand the problem. What are the problem?