Laravel 5 チュートリアル - セットアップ

Laravel(5.1)始めました。

開発環境を整える

Laravelの開発環境としてComposerとHomesteadのセットアップをします。Composerはパッケージマネージャー、HomesteadはLaravelの開発に特化した環境として用意されているVagrant boxです。

Homestead

Homestead ドキュメント

Homesteadを使うと、UbuntuにPHPやMySQL、Redisなどが含まれたVM上ですぐにLaravelアプリケーションの開発に取り掛かれます。予めVagrantとVirtualboxをインストールしておきます。

予め用意しておくもの

Homesteadをインストールする

% composer global require "laravel/homestead=~2.0"
% homestead --version
Laravel Homestead version 2.1.8  

今回はComposerでグローバルにインストールしてみます。バージョンの指定は~2.0とすることで2.x系の最新バージョンを指します。

インストール後、homesteadが使えない場合は.zshrcなどでパスが通っているか確認してください。

export COMPOSER_HOME=$HOME/.composer  
export PATH=$COMPOSER_HOME/vendor/bin:$PATH  

homesteadが使えるようになったら、次にVMの設定ファイルを初期化、編集します。

% homestead init
% homestead edit

homestead editで以下のようなyamlファイル(~/.homestead/Homestead.yml)が開きます。

---
ip: "192.168.10.10"  
memory: 2048  
cpus: 1  
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:  
    - ~/.ssh/id_rsa

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

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

databases:  
    - homestead

variables:  
    - key: APP_ENV
      value: local

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 93000
#       to: 9300
#     - send: 7777

この中で、まず編集するべきなのはfolderssitesdatabaseのセクションです。

  • folders: VM上のファイルシステムとローカルのファイルシステムのマッピング
  • sites: VM上のフォルダとドメインをマッピングする
  • database: VM上のMySQL上にデータベースを作成する

今回は開発マシン上で~/Study/laravel-playgroundディレクトリを作り、その中にhello-laravelというHelloWorldプロジェクトを作るので以下のようにします。

folders:  
    - map: ~/Study/laravel-playground
      to: /home/vagrant/laravel-playground

sites:  
    - map: hello-laravel.app
      to: /home/vagrant/laravel-playground/hello-laravel/public

databases:  
    - hello_laravel

VM上には~/vagrant/Codeディレクトリができているので、ローカルのワークディレクトリへマップし、後ほど作るlarabelアプリケーションのpublicディレクトリにドキュメントルートを設定したドメインを設定します。

設定ファイルを保存して、homestead upでVMの起動とプロビジョニングを実行します。最後に/etc/hosts192.168.10.10 hello-laravel.appを追加しておきましょう。

% homestead up

...

Laravelプロジェクトの生成

Laravelアプリケーションの骨子はComposerで作ることができます。foldersで指定した場所にプロジェクトを作ります。

% cd path/to/laravel-playground
% composer create-project laravel/laravel hello-laravel

...

http://hello-laravel.app/ にアクセスして、以下の様な画面が表示されれば成功です。

アプリケーションの設定として、この時点ではタイムゾーンとロケールの設定、namespaceの設定をしておきましょう。設定ファイルはconfig/app.phpです。

'timezone' => 'Asia/Tokyo',  
'locale' => 'ja',  
% php artisan app:name HelloLaravel