趣味PHPerなので、Laravel5を実際にさわってみることにする。
ブログにも書いてます。
Laravelとは
最近巷ではやっているphpのフレームワークで、近年のモダンな書き方をとりいれていて
今風にphpが書ける。
手順
実際にインストールして、動かすまでを記載します。
各種インストール
-
Vagrant
公式サイトからdmgファイルをダウンロードしてきてインストールする。 -
Virtual Box
公式サイトからdmgファイルをダウンロードしてインストールする。
$ 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ディレクトリを作成する。
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