Help us understand the problem. What is going on with this article?

HomesteadによるLaravel環境構築

More than 1 year has passed since last update.

Homesteadとは

 LarvalのためのVagrantのBOX。
Homesteadでは、Laravelに必要なPHPモジュールやライブラリがあらかじめ用意されており、素早くLaravelの仮想環境を構築できる。自動的にSSL証明書も発行してくれるので、最初からHTTPS環境でもアクセスできる。(警告はでるが)

Homesteadがインクルードしているソフトウェア

  • Ubuntu
  • Git
  • PHP
  • Nginx
  • MySQL
  • MariaDB
  • Sqlite3
  • PostgreSQL
  • Composer
  • Node (With Yarn, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • ngrok

インストール手順

 Homestead環境の構築方法には、2つある。

  • グローバルで構築する方法
  • プロジェクト毎に構築する方法

 グローバルにインストールすると、プロジェクト間で予期せぬ汚染を招きそうなので、ここではプロジェクト毎に構築する方法を説明する。

前提

  • Virtual BOX, Vagrantやcomposer等、Vagrant環境を構築するのに必要なツールはすでにインストール済みであること

HomesteadのVagrant BoxをVagrantのリストに追加する

vagrant box add laravel/homestead

プロジェクト毎にインストール

 環境を構築したいディレクトリを作成し、composerでインストール。

mkdir /Users/yumataesu/Sites/yout_site
cd yout_site
composer require laravel/homestead --dev

vagrant fileとHomestead.yamlを生成する

Mac / Linuxの場合

php vendor/bin/homestead make

Windowsの場合

vendor\bin\homestead make

Vagrant起動

vagrant up

http://homestead.app でアクセスできるか確認。
ドキュメントルートは空なので、 NginxのNo input file specified.というエラーメッセージがでる。Larval自体は、手動でインストールする必要がある。

Homestead.yamlを編集し、Larvalをインストール

 homestead.yamlはHomesteadの設定ファイル。
ここを編集してゲストマシンとホストマシンのディレクトリを同期設定をする。

  • mapは、ホストマシン側で同期したいディレクトリを指定する。(ここでは、rakufile内にwebというディレクトリを作成した)
  • toは、ゲストマシン側で同期したいディレクトリを指定する。
Homestead.yaml
folders:
     -
         map: /Users/username/Sites/myhomestead/web
         to: /home/vagrant/Code

仮想環境へログインし、共有ディレクトリまで移動する

vagrant ssh
cd /home/vagrant/Code

2017年9月26日現在の5.5.X系では、Laravelをインストールする前にcomposerのアップデートが必要

composer global update

Laravelをインストール

laravel new

これで、http://homestead.app でアクセスするとLaravelのHello Worldが表示される。

スクリーンショット 2017-09-26 13.10.45.png

アクセスするドメインを変更する場合

homestead.appを変更する場合、Homestead.yamlのsitesプロパティを編集する。

  • map:アクセスするドメインの設定
  • to:ゲストマシンNginxのドキュメントルートの設定
Homestead.yaml
sites:
    -
        map: myhomestead.app
        to: /home/vagrant/Code/public

仮想マシンのNginx設定を更新するため以下を再実行する

vagrant reload --provision

hostファイルも更新する

 仮想マシンのIPは、Homestead.yamlのipプロパティを確認。

hosts
192.168.10.10 myhomestead.app
y_UM4
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away