Laravel 5.4をインストールする（Homesteadは使わない）

#これまでのおさらい
1. vagrantでCentOS7.3の環境を作った:[参照](http://qiita.com/panappe/items/a876e06488fab4a9af8b)
2. CentOS7.3の環境にPHP7.1をインストールした:[参照](http://qiita.com/panappe/items/9963e18da8dd4d1bf994)
3. Laravel 5.4をインストールしてみる　←今ここ　

※今回はすでに環境があるので、[Laravel Homestead](https://readouble.com/laravel/5.4/ja/homestead.html)は使わず上記で作った環境でインストールする。

#Laravel 5.4をインストールする
まずはサーバー要件をチェック :thinking:


>Homesteadを使用しない場合は、以下の要件を満たす必要があります。
>
>・PHP >= 5.6.4
>・OpenSSL PHP拡張
>・PDO PHP拡張
>・Mbstring PHP拡張
>・Tokenizer PHP拡張
>・XML PHP拡張

引用元：日本語ドキュメント [Laravel 5.4 インストール](https://readouble.com/laravel/5.4/ja/installation.html)


なるほどなるほど。
PHPのバージョンはOKで、モジュールは要確認 :information_desk_person:
##1.PHPモジュール追加

###1-1.インストール済みのPHPモジュールの確認

```console
$ php -m 
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
openssl
pcntl
pcre
Phar
readline
Reflection
session
sockets
SPL
standard
tokenizer
zlib
```

以下が見当たらないので追加する。
>・PDO PHP拡張
>・Mbstring PHP拡張
>・XML PHP拡張

###1-2.不足しているPHPモジュールを追加

PHPモジュール追加

```console
$ sudo yum install --enablerepo=remi-php71 php-mbstring php-xml php-pdo
```
一応確認してみる。

```console
$ php -m | grep -i -e pdo -e mbstring -e xml
libxml
mbstring
PDO
pdo_sqlite
SimpleXML
xml
xmlreader
xmlwriter

```

完了 :lifter_tone3:
これでサーバー要件はOKなはず。

###1-3.MySQL用のモジュール追加
今回はMySQL使いたいので以下も追加

```console
$ sudo yum install --enablerepo=remi-php71 php-mysqlnd
```

※nginx, php-fpmが起動していたら反映のためにそれぞれ再起動

##2.Laravelのインストール

まずは[Composer](https://getcomposer.org/)が必要。

###2-1.Composerのインストール
インストール

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

コマンドを使えるようにパスが通っているところに移動

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

コマンド確認

```console
$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.4.2 2017-05-17 08:17:52

...省略
```

OK。


###2-1.Laravelのプロジェクト作成

よし、Laravelでプロジェクトを作ろう！
と思ったら・・・


```console
$ composer create-project --prefer-dist laravel/laravel sample
Installing laravel/laravel (v5.4.23)
    Failed to download laravel/laravel from dist: The zip extension and unzip command are both missing, skipping.
The php.ini used by your command-line PHP is: /etc/php.ini
    Now trying to download from source
  - Installing laravel/laravel (v5.4.23): Cloning 0f0178a577

                                                                                                                               
  [RuntimeException]                                                                                                           
  Failed to clone https://github.com/laravel/laravel.git, git was not found, check that it is installed and in your PATH env.  
  sh: git: command not found                                                                                                   
                                                                                                                               

create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--no-install] [--ignore-platform-reqs] [--] [<package>] [<directory>] [<version>]
```
Failed toが２箇所。。
ふむ。zip, unzipと、gitが入っていないとダメみたい :angel_tone2:
###2-3.zip, unzip, git インストール
```console
$ sudo yum -y install zip unzip git 
省略...
```

OK。
よし、今度こそ:airplane:

###2-4.Laravelのプロジェクト作成（再）
/var/www/配下にsampleという名のプロジェクトを作るとする

```console
$ sudo chown vagrant:vagrant /var/www
$ cd /var/www
$ composer create-project --prefer-dist laravel/laravel sample
Installing laravel/laravel (v5.4.23)

省略...
```

よし。
あとはマニュアル通り権限の設定だけしておく。

```console:nginx用
$ sudo chown nginx:nginx -R /var/www/sample/storage
$ sudo chown nginx:nginx -R /var/www/sample/bootstrap/cache
```

めでたし、めでたし。