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

2015年7月15日 engineering

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

Laravelとは

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

Laravel 公式サイト

手順

各種インストール

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

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

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

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

Boxの作成・Homestead準備

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ディレクトリを作成する。

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

手順は以上です。

うまく行かない場合

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

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

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

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

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

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

no supported encrypted foundと怒られる

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

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

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

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

この記事をシェア