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準備

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

スクリーンショット 2015-07-15 9.36.29

うまく行かない場合

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

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

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

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

laravelエラー

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

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

no supported encrypted foundと怒られる

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

スクリーンショット 2015-07-15 9.35.32

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

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

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