Posted at

Xserver(レンタルサーバー)でLaravelを動かす

More than 5 years have passed since last update.


使用するPHPのバージョン変更

XserverのPHPはデフォルト状態だと5.1系のため、artisanコマンドが動かないので設定を変更する

user@sv000$ php -v

PHP 5.1.6 (cgi-fcgi) (built: Mar 24 2014 04:38:12)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies


$HOME/bin 以下にPHPのシンボリックリンクを作成

今回は5.4系の最新を指定してみた

user@sv000$ find /opt/php-*/bin -type f -name 'php'

/opt/php-5.4.13/bin/php
/opt/php-5.4.25/bin/php
/opt/php-5.4.26/bin/php
/opt/php-5.5.0/bin/php
/opt/php-5.5.10/bin/php
/opt/php-5.5.9/bin/php

user@sv000$ mkdir $HOME/bin

user@sv000$ ln -s /opt/php-5.4.26/bin/php $HOME/bin/php


$HOME/bin が優先して読み込まれるようにする

.bash_profile に $HOME/bin のPATHが設定されていたので、先に読み込まれるよう変更した

*** .bash_profile.bak   2014-04-09 19:12:40.225561022 +0900

--- .bash_profile 2014-04-09 19:39:25.764561022 +0900
***************
*** 7,12 ****

# User specific environment and startup programs

! PATH=$PATH:$HOME/bin

export PATH
--- 7,12 ----

# User specific environment and startup programs

! PATH=$HOME/bin:$PATH

export PATH


composerをインストール

user@sv000$ curl -sS https://getcomposer.org/installer | php

user@sv000$ mv composer.phar $HOME/bin/composer


Laravelのプロジェクトを作成

user@sv000$ cd $HOME/example.jp

user@sv000$ composer create-project laravel/laravel --prefer-dist


.htaccessの設定

5.4系のPHPを使用するように.htaccessを設定


public/.htaccess

AddHandler x-httpd-php5.4 .php .phps

AddHandler server-parsed .html .htm

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]



publicディレクトリのシンボリックリンクを作成

Xserverは $HOME/example.jp/public_html 以下にサブドメインの公開ディレクトリが存在しているため

http://laravel.example.jp で公開する場合は下記のようにする

user@sv000$ ln -s $HOME/example.jp/laravel/public $HOME/example.jp/public_html/laravel


動作確認

user@sv000$ cd $HOME/example.jp/laravel

user@sv000$ ./artisan -V
Laravel Framework version 4.1.28