Laravel4をCentOS6+nginx+PHP5.4でインストールする
最近人気があるLaravelを使うためのメモです。
【環境】 CentOS release 6.7 (Final) PHP 5.4.44
composerからLaravelをインストール
composerを入れてない場合は以下のコマンドでインストール。
$curl -sS https://getcomposer.org/installer | php
$mv composer.phar /usr/local/bin/composer
その後、以下のコマンドでLaravelを入れます。PHPのバージョンが5.4だったので、最新のLaravel5ではなくLaravel4(日本語注釈付き)にします。
$composer create-project "laravel-ja/laravel=~4.2" your_app --prefer-dist
Mcrypt PHP extension required.が発生した場合
composerでLaravelを入れる時に以下のようなエラーが出ることがあります。これはPHP拡張機能である暗号化モジュールmcryptがPHPに入っていないために発生するようです。
Mcrypt PHP extension required. Script php artisan clear-compiled handling the post-install-cmd event returned with an error [RuntimeException] Error Output:
yumでlibmcryptとphp-mcryptを入れます。
$yum --enablerepo=epel install libmcrypt
$yum --enablerepo=remi update
$yum install --enablerepo=remi php-mcrypt
PHPのバージョンや環境によっては上手くいかないこともあります。
どうしてもエラーが解決できない場合は、PHPをソースからビルドする時に「$./configure –with-mcrypt」のように–with-mcryptパラメータをつけることで拡張機能を入れることもできるようです。
mcrypyを入れたら以下のコマンドで「mcrypt support => enabled」となればOKです。
$php -i | grep -i mcrypt
nginxを使っているので、php-fpmをリスタートをしてmcryptを有効化させます。
$service php-fpm restart
nginxでLaravelを動かす
まず、app/storageのパーミッションを変更しておきます。
$chmod -R 777 app/storage
すでにnginxを利用している場合は、rootをLaravelのpublicディレクトリに向けるだけでOKです。
$vi /etc/nginx/conf.d/your_app.conf
root /var/www/html/your_app/public;
$service nginx restart
URLにアクセスし「You have arrived.」と表示されていれば完了です。