Laravel 4のインストール

  • 16
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

環境
OS:Ubuntu14.04
php 5.6.0
Apache 2.4.10
thinkpad T440p

composerのインストール

~/work$ curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /home/user/work/composer.phar
Use it: php composer.phar

パスが通った場所にコピー

~/work$ sudo mv composer.phar /usr/local/bin/composer

Laravel installerでインストール

~$ composer global require "laravel/installer=~1.1"
Changed current directory to /home/k/.composer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing symfony/console (v2.5.4)
    Downloading: 100%         

  - Installing guzzlehttp/streams (2.1.0)
    Downloading: 100%         

  - Installing guzzlehttp/guzzle (4.2.2)
    Downloading: 100%         

  - Installing laravel/installer (v1.1.3)
    Downloading: 100%         

~/.composer/vendor/binをパスに追加してlaravelコマンドを使用しやすくしておく

export PATH=$PATH:$HOME/.composer/vendor/bin
~$ . .bashrc

プロジェクト作成

~$ laravel new laravel_test
Crafting application...
Application ready! Build something amazing.

これでlaravel_testというプロジェクトが作成される

確認

artisan serveコマンドで組み込みサーバを立ち上げることが出来る

cd laravel_test
php artisan serve

http://localhost:8000/
にアクセス出来てればok

Apacheの使用

apacheの設定でvirtual hostのconfファイルを読み込むようにする

/usr/local/apache2/conf/httpd.conf
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
Include conf/extra/laravel-vhosts.conf  ##追加

apache2/conf/extra/にはhttpd-vhosts.confが置いてあるのでこれをコピーしてlaravel-vhosts.confとして編集する

/usr/local/apache2/conf/extra/laravel-vhosts.conf
<VirtualHost *:8080>
    ServerName laravel.dev
    ServerAlias myapp.laravel
    DocumentRoot "/home/user/laravel_test/public"
    <Directory "/home/user/laravel_test/public">
      AllowOverride all
      Require all granted
    </Directory>
</VirtualHost>

Apache2.4ではRequire all grantedを書いてないと.htaccessの許可でハマる

laravel_test/app/storageのパーミッションを変更する

cd ~/laravel_test/app
chmod -R 777 storage/

laravel_test/public/.htaccessを編集する
http://blog.ridvanbaluyos.com/2014/02/laravel-4-getting-403-forbidden-access.html
http://stackoverflow.com/questions/18272557/laravel-forbidden-you-dont-have-permission-to-access-on-this-server

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

以下のように直す

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On

    # Redirect Trailing Slashes...
    # RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L]
</IfModule>

apacheの再起動

apache_restart

laravel.dev:8080/index.php
にアクセスできればok

routeについて

http://laravel4.kore1server.com/docs
app/routes.phpにルーティングを記述する,ここに

Route::get('users','UserController@getIndex');

と記述すると/usrにアクセスした時にapp/controllers/UserControllerのgetIndexメソッドを呼び出す。
UserController.phpのUserControllerクラスに以下のメソッドを追加すると

UserController.php
 <?php

class UserController extends BaseController {

      public function getIndex()
      {
         return View::make('user');
      }
}

viewsにあるuser.blade.phpを読み込む

appのconfig

app/config/app.config

keyの設定はlaravel_test/で
php artisan key:generateで設定される