Laravel5.4の環境構築手順

## 概要
Laravel5.4の環境を構築する。
CentOS6.7 / 7.1の両環境で検証済み。

## 環境
- CentOS6.7 / 7.1
- Apache 2.2.15(CentOS6) / Apache 2.4.6(CentOS7)
- PHP 7.0.19
- Composer 1.4.2
- MySQL5.7
- Laravel 5.4.23

## PHP7のインストール
こちらを参照：[CentOSにPHP7をインストールする方法](http://qiita.com/Esfahan/items/e55fa83a9dcf91d89d84)

## composer本体のインストール
こちらを参照：[composer本体のインストール](http://qiita.com/Esfahan/items/e55fa83a9dcf91d89d84#composer%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)


## Laravelのインストール
sample_projectという名前のアプリケーションを作成する。
下記のいずれかの方法でLaravelをインストール。

- 1. Laravelコマンドを使う
- 2. composer create-projectを使う


### 1. Laravelコマンドを使う
#### Laravelコマンドのインストール


```
$ composer global require "laravel/installer"
```

このままlaravelコマンドを実行しても、下記のようなエラーが出るため、
peclでzipをインストールする必要がある。

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

#### 依存関係のインストール
peclコマンドを使えるように、pearや依存関係をインストールする。

```
$ sudo yum -y install php-pear --disablerepo=* --enablerepo=remi,remi-php70
$ sudo yum -y install libzip-last zlib-devel
```

peclでzipをインストールすると、
参考：[PECL::zipのインストールでちょいハマリ…](http://mimirswell.cliptrash.com/blog-204)

```
$ sudo pecl -d preferred_state=stable install -a zip-1.13.5

Build process completed successfully
Installing '/usr/lib64/php/modules/zip.so'
install ok: channel://pecl.php.net/zip-1.13.5
configuration option "php_ini" is not set to php.ini location
You should add "extension=zip.so" to php.ini
```

`You should add "extension=zip.so" to php.ini`
と出るので、追記する。

```
$ sudo vi /etc/php.ini

# 末尾に追記
extension=zip.so
```

#### laravelコマンドが使用できるようにPATHを通す
CentOS6系の場合

```
$ echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bash_profile
```

CentOS7系の場合

```
$ echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> ~/.bash_profile
```

環境変数反映

```
$ source ~/.bash_profile
```

#### Laravelアプリケーションの作成
これでlaravelコマンドが使用可能になるので、下記コマンドでlaravelアプリケーションを作成する。
コマンドを実行したディレクトリにファイルが生成されるので、後述のApacheの設定と合わせるのであれば、/var/www/htmlへ移動してから実行してください。
[ディレクトリのパーミッションについてはこちらを参照](http://qiita.com/Esfahan/items/364462502b6d19dea1fe#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E8%A8%AD%E7%BD%AE%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AE%E6%A8%A9%E9%99%90%E3%82%92%E9%81%A9%E5%88%87%E3%81%AB%E3%81%99%E3%82%8B)

```
$ laravel new sample_project
```

### 2. composer create-projectを使う
laravelコマンドを使わなくても、composerコマンドでlaravelアプリケーションを作成することも可能。
コマンドを実行したディレクトリにファイルが生成されるので、後述のApacheの設定と合わせるのであれば、/var/www/htmlへ移動してから実行してください。
[ディレクトリのパーミッションについてはこちらを参照](http://qiita.com/Esfahan/items/364462502b6d19dea1fe#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E8%A8%AD%E7%BD%AE%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AE%E6%A8%A9%E9%99%90%E3%82%92%E9%81%A9%E5%88%87%E3%81%AB%E3%81%99%E3%82%8B)

```
$ composer create-project laravel/laravel --prefer-dist sample_project 5.4
```

## インストールされたLaravelのバージョン確認

```
$ cd sample_project
$ php artisan --version
Laravel Framework 5.4.23
```

## ディレクトリのパーミッション変更
下記のディレクトリのパーミッションを変更する。

```
$ chmod 777 -R sample_project/storage
$ chmod 777 -R sample_project/bootstrap/cache/
```

## MySQLのインストール
こちらを参照：[CentOS6 or 7にMySQL5.6 or 5.7のインストール](http://qiita.com/Esfahan/items/83200c64de8d826677b5)

## .envを編集
.envに、MySQLやredisなどの、必要な情報を記載する。

## Apacheのインストール
こちらを参照：[CentOS6 or 7 + Apache2系のインストール手順メモ](http://qiita.com/Esfahan/items/364462502b6d19dea1fe)

## サイト表示確認
http://ipaddress/
下記の画面が表示されれば、インストール成功。

<img width="1193" alt="4cf5a421115ca957e5b46f3778455f98.png" src="https://qiita-image-store.s3.amazonaws.com/0/105936/f6eca749-8628-8d23-1a8b-d7ba325243b7.png">

以上

## 参考
https://laravel.com/docs/5.4#installation
[PECL::zipのインストールでちょいハマリ…](http://mimirswell.cliptrash.com/blog-204)