LoginSignup
15
15

More than 5 years have passed since last update.

Laravel 4のインストール

Last updated at Posted at 2014-09-22

環境
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で設定される

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15