PHP7 + Laravel5.4 で作るLaravelフレームワーク on さくらVPS


PHP7でLaravel5.4環境を構築した時の備忘録です。

1. Composer

Laravelインストールに必要なComposerをダウンロード

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

どこからでも起動できるように、パスの通ったディレクトリに移動

$ mv composer.phar /usr/local/bin/composer

Composerコマンドの確認(バージョン確認)

$ composer -version

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.4.1 2017-03-10 09:29:45

2. インストーラ―

インストーラ―のダウンロード

$ composer global require "laravel/installer"

パスを通す

$ echo 'export PATH=~/.config/composer/vendor/laravel/installer:$PATH' >> ~/.bash_profile

反映

$ source .bash_profile

laravelコマンドの確認

$ laravel

Laravel Installer 1.3.3

3. Laravelのプロジェクト作成

プロジェクト作成するディレクトリに移動(/var/www)

$ cd /var/www

プロジェクト作成(laravel)

$ laravel new laravel

※/var/www/laravel が、今回作成したプロジェクトになります

エラーになった場合

phpのzip拡張機能のインストールを促されるエラーが出ることがあります

  [RuntimeException]
  The Zip PHP extension is not installed. Please install it and try again.

pearコマンドを入れて、同時にpeclコマンドを使えるようにして、zipインストール

$ yum install php-pear --disablerepo=* --enablerepo=remi-php70
$ yum -y install zlib-devel
$ yum -y install cc gcc
$ pecl install zip

php.iniにextension=zip.soを追記

$ vi /etc/php.ini

[zip]
extension=zip.so

改めてプロジェクト作成

$ laravel new laravel

4. Laravelバージョン確認

※プロジェクト作成したディレクトリに移動しないとartisanは使えない

$ cd /var/www/laravel
$ php artisan --version

Laravel Framework 5.4.15

5. httpd.confの変更

$ vi /etc/httpd/conf/httpd.conf

// ドキュメントルートを/var/www/laravel/publicへ変更
DocumentRoot "/var/www/laravel/public"

// Directoryも同様に変更
// AllowOverride All でhtaccessを有効化。
<Directory "/var/www/laravel/public">
    AllowOverride All
    Require all granted
</Directory>

6. オーナー・権限の変更

apacheユーザーへの変更と、ログ書き込み先の権限変更

$ chown -R apache:apache /var/www/laravel
$ chmod -R 775 /var/www/laravel/storage
$ chmod -R 775 /var/www/laravel/bootstrap/cache

7. 動作確認

サイトトップURLにアクセスしてLaravelが表示されれば、OKです。