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

HomesteadをつかってLaravel5を動かしてみる

More than 3 years have passed since last update.

趣味PHPerなので、Laravel5を実際にさわってみることにする。

ブログにも書いてます。

Laravelとは

最近巷ではやっているphpのフレームワークで、近年のモダンな書き方をとりいれていて
今風にphpが書ける。

Laravel 公式サイト

手順

実際にインストールして、動かすまでを記載します。

各種インストール

  • Vagrant
    公式サイトからdmgファイルをダウンロードしてきてインストールする。

  • Virtual Box
    公式サイトからdmgファイルをダウンロードしてインストールする。

  • composer

$ curl -sS https://getcomposer.org/installer | php
$ mv ./composer.phar /usr/local/bin/composer

あとPATHも通す、もしくはPATHの通っているディレクトリに移動する。

Boxの作成・Homestead準備

HomesteadのBoxを追加する。

$ vagrant box add laravel/homestead
$ git clone https://github.com/laravel/homestead.git Homestead

cloneしたHomesteadディレクトリに移動し、init.shを実行する。

$ cd ./Homestead
$ bash init.sh

これで、~/.homestead 配下に必要なファイルたちがどこどこ作られていく。

vagrantで仮想マシンを立ち上げたとき用の鍵ペアを作成する。
(すでにある場合はつくらなくても大丈夫?)

ssh-keygen -t rsa -C "you@homestead"

設定ファイル記述

設定ファイルの場所
~/.homestead/Homestead.yaml
以下の様に修正する
(修正がいらない箇所は省略します)

※作業用ディレクトリを~/workとし、その配下に後述のlaravelプロジェクトの作成の際にlaravelディレクトリを作成する。

Homestead.yaml
providor: virtualbox

authorize: ~/.ssh/id_rsa.pub

key:
- ~/.ssh/id_rsa

folders:
- map: ~/work/laravel
to: /home/vagrant/Code/laravel

sites:
- map: homestead.app
to: /home/vagrant/Code/laravel/public

providorにはvirtualboxを指定する。
authorizeとkeyには以前の手順で作成したキーペアへのパスを指定する。
foldersはローカルと、vagrant上で同期をとるためのマッピング。
sitesはurlと公開フォルダのマッピングを行う。
この場合 http://homestead.app にアクセスすると/home/vagrant/Code/laravel/public配下がドキュメントルートとなる。

Hostsの設定

/etc/hostsに以下の記述を追加する。

192.168.10.10 homestead.app

192...の部分はHomestead.yamlに記載されているipを、
その後はsitesのmapの方のurlを記述する。

Laravel Projectの作成

作業用ディレクトリに移動して以下のコマンドを打つ

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

そうするといろいろダウンロードが始まって、laravelフレームワークが使えるようになる。

以下のコマンドでvagrant立ち上げる

$ homestead up

ブラウザでhttp://homestead.app にアクセスして以下のページになればOK

laravelスクショ.png

うまく行かない場合

いろいろうまくいかなかった場合のメモ。

nginx php no input file specifiedと表示される

nginxがphpファイルを見つけられていないので、hostsや、Homestead.yamlを要確認

vendor/autoload.phpが無いよって怒られる。

以下の様な画面が表示され、vendor/autoload.phpが無いよって言われる

laravelエラー.png

vagrantにsshでログインしてcomposer installで色々インストールする。

$ homestead ssh
$ cd /home/vagrant/Code/laravel/
$ composer install

no supported encrypted foundと怒られる

以下の様な画面が表示された場合。

Laravelエラー2.png

プロジェクトのディレクトリに移動してkey:generateする

$ homestead ssh
$ cd /home/vagrant/Code/laravel/
$ php artisan key:generate

参考させていただいたサイト様

uzabase
企業活動の意思決定を支える情報インフラの提供
https://www.uzabase.com/
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