前提
・ローカルで開発したプロジェクトをすでにgithubにプッシュ済み
・EC2にSSH接続できている事
PHP7.2のインストール
````` $sudo yum install -y \ php72 php72-devel php72-fpm php72-gd php72-mbstring \ php72-mysqlnd php72-pdo \ php72-xml php72-jsonインストール済みを確認
$sudo yum list installed | grep php72
<h1>Mysqlのインストールと動作の確認</h1>
```
インストール
$sudo yum -y install mysql56-server mysql56-devel mysql56
スタート
$sudo service mysqld start
動いているか確認(runnning)になっていればOKです。
$sudo service mysqld status
mysqld (pid ) is running...
```
<h1>Mysqlのパスワードの設定</h1>
0から始まるパスワードは上手く読み込んでくれないことがあるため0から始まるのは避けましょう
この時に「Warning: Using a password on the command line interface can be insecure.」と表示されることがありますが無視しても問題ありません。
```
$sudo /usr/libexec/mysql56/mysqladmin -u root password 'ここを設定したいパスワードに変更してからコマンドを実行してください'
```
<h1>設定したパスワードでの接続確認</h1>
以下のコマンドを入力するとEnter password: とパスワードを入力するように表示されるので、
先程設定したパスワードを入力して、Enterしてください。以下のように表示されれば、MySQLの設定は終了です。
```
$ mysql -u root -p
↓↓がパスワード入力後に表示されれば設定は終了。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.33 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
```
<h1>appacheインストール</h1>
```
$sudo yum install -y httpd24
webサーバの起動
$sudo service httpd start
システムがブートするたびにapacheが起動するよう設定
$sudo chkconfig httpd on
有効か確認
$chkconfig --list httpd
```
ドキュメントルートの権限変更
```
ユーザをapacheグループに追加
sudo usermod -a -G apache ec2-user
グループのメンバーシップを検証
groups
グループ所有権をapacheグループに変更
sudo chown -R ec2-user:apache /var/www
グループの書き込み許可追加
sudo chmod 2775 /var/www
サブディレクトにグループ ID を設定するには、/var/www とサブディレクトのディレクトリ許可
find /var/www -type d -exec sudo chmod 2775 {} \;
グループ書き込み許可を追加するには、/var/www とサブディレクトリのファイル許可を再帰的に変更します。
find /var/www -type f -exec sudo chmod 0664 {} \;
```
<h1>gitのインストール</h1>
```
sudo yum install git
```
<h1>composerのインストール</h1>
```
インストール
sudo curl -sS https://getcomposer.org/installer | php
パスを通す
sudo mv composer.phar /usr/local/bin/composer
```
<h1>git clone</h1>
```
cd /var/www/html
git clone クローンしたいgitのURLをここに貼る
```
<h1>appacheのドキュメントルートの設定</h1>
```
設定ファイルを開く
sudo vi /etc/httpd/conf/httpd.conf
ファイルを開くと真ん中より上のあたりにDocumentRoot "/var/www/html
という記述があるためそれを以下にに変更
DocumentRoot "/var/www/html/自分のlaravel_project/public
最終行に以下を追記
# .htaccess 有効化
<Directory /var/www/html/自分のlaravel_project/public>
AllowOverride All
</Directory>
サービス再起動
sudo service httpd restart
```
<h1>パッケージのインストール</h1>
```
cd /var/www/html/laravelプロジェクト
composer install
```
<h1>プロジェクトの許可設定を変更</h1>
```
chmod 777 storage -R
chmod 777 bootstrap/cache -R
```
<h1>.envの設定</h1>
```
cp .env.example .env
vi .env
APP_URL=http://ElascticIPにする
DB_CONNECTION=mysql
DB_DATABASE=データベース名
DB_PASSWORD=設定したパスワード
```
<h1>キーを作成しキャッシュをクリア</h1>
```
php artisan key:generate
php artisan config:clear
```
<h1>データベースの作成</h1>
envファイルに記載したDB名と同じ名前のものを実際に作成します。
```
mysql -u root -p
create database envファイルにあるDB名と同じ名前にする;
exit
```
<h1>テーブル作成</h1>
```
php artisan migrate
```
<h1>シンボリックリンクの設定</h1>
```
php artisan storage:link
```
これで完了です。
あとはElasticIPを入力してサーバーアクセスしてみてください。
こちらの記事を参考にさせていただきながら一部は自分の環境に合わせて進めていきました。
https://qiita.com/nakm/items/0bcc6564538a0604b2ce