Laravelインストールメモ

## Laravel実行環境構築手順
---
#### Laravel実行最低要件
* PHP >= 5.6.4
* OpenSSL PHP拡張
* PDO PHP拡張
* Mbstring PHP拡張
* Tokenizer PHP拡張
* XML PHP拡張
 
---
##### yum実行時になんかCなんとかっていう警告文が出る

1. `export LC_ALL=C`

---
### Apacheのインストール

1. Apacheのインストール
`sudo yum -y install httpd`
2. インストールの確認
`httpd -version`
3. 自動起動設定
`systemctl enable httpd.service`
4. 起動
`systemctl start httpd.service`
5. 起動確認
`systemctl status httpd.service`
6. 設定？(PHP7インストール後におこなう！)

~~~url:参考用
https://qiita.com/Syo_pr/items/4994f71e8c9152ceee0d
~~~


httpd.confに追加

~~~???:モジュール指定いらないかも・・・
<IfModule prefork.c>
  #LoadModule php5_module modules/libphp5.so
  LoadModule php7_module modules/libphp7.so
</IfModule>
~~~



---
###メモ・・・(これを書くとpublicがドキュメントルートになる)

~~~
DocumentRoot "/var/www/terminal_laravel-master/public"
<Directory "/var/www/terminal_laravel-master/public">
    Options +FollowSymLinks
    RewriteEngine On

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

    Require all granted
    AllowOverride All
</Directory>
~~~

---
### PHPのインストール

1. yumのリポジトリ追加  
EPEL:`sudo yum -y install epel-release`  
Remi:`sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm`
2. PHP7.2のインストール  
`sudo yum -y install --enablerepo=remi,remi-php72 php php-devel php-pdo php-mbstring php-tokenizer　php-xml php-zip php-phpunit-PHPUnit php-mysql php-mysqlnd`
3. バージョンを確認  
`php --version`

---
#### Composerインストール

1. https://getcomposer.org/download/  よりcomposer.pharをダウンロード
2. ダウンロードしたファイルをサーバに移動
3. ターミナルより`sudo mv composer.phar /usr/local/bin/composer`  を実行
4. 実行できるようにパーミッションを付与 `chmod a+x /usr/local/bin/composer`
5. `composer -v`でバージョンが確認できればOK

---
### MySQLのインストール

1. mariaDBやmysqlのリムーブ  
`sudp yum -y remove mariadb-libs`  
`sudo rm -rf /var/lib/mysql/`
2. リポジトリの追加  
`sudo yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm`
3. msqlのインストール  
`sudo yum -y install mysql-community-server`
4. バージョン確認  
`mysql --version`
5. 起動設定  
`sudo systemctl enable mysqld.service`
6. 起動  
`sudo systemctl start mysqld.service`
7. 初期設定  
パスワードの確認  
`cat /var/log/mysqld.log`  
`A temporary password is generated for root@localhost:`の後に表示される  
初期設定を行う  
パスワード設定：`mysql_secure_installation`
8. パスワードが覚えづらいのでrootにする  
とりあえず、設定したPWでrootにログイン  
パスワード強度を変更する  
`SET GLOBAL validate_password_length=4;`  
`SET GLOBAL validate_password_policy=LOW;`  
`set password for root@localhost=password('root');`  
以上でパスワードがrootに変更される  
9. 起動確認  
`mysql -u root -p`  


---
### Laravelのインストール

1. インストーラのインストール  
`composer global require "laravel/installer"`

---
### Laravelでプロジェクト作成

1. 作成  
`composer create-project --prefer-dist laravel/laravel [project-name]`
2. ログの作成  
`touch [project-name]/storage/logs/laravel.log`
3. 権限付与  
`chown -R apache:apache [project-name]`  
`chmod -R 777 [project-name]`

---

### SELinuxをとめる  
1. 設定を変更する  
`/etc/selinux/config`
設定ファイル内で`SELINUX=disabled`に変更  
2. 再起動  
`sudo shutdown -r now`  

---

### MySQLサーバ移行
1. dumpファイルを出力  
`mysqldump -h HOST_NAME -u USER_NAME -p DATABASE_NAME > DUMP_OUTPUT_FILE_PATH`
2. 移行先でデータベースを作成
3. 移行元dumpファイルを読込  
`mysql -h HOST_NAME -u USER_NAME -p DATABASE_NAME < DUMP_OUTPUT_FILE_PATH`

---

### 開発したlaravelプロジェクトをgitから展開する場合

vanderディレクトリはGitにコミットされないのがデフォルトのため、そのまま展開してもlaravelが動作しない

~~~
composer install

cp .env.example .env

php artisan key:generate
~~~

これでvenderの生成とKEYの設定が完了するので多分動く