AWSでEC2インスタンス建てた後何をすればLaravelを使えるのか?
【環境】
apache2.4
ubuntu 18.04
php7.2
laravel7*
①サーバーアップデート
②apache2のインストール
③PHPのインストール
④サーバー再起動
⑤モジュール入れる
⑥パッケージ更新一色
⑦Composer インストール
⑧swapファイル作る
⑨ Laravelプロジェクト立ち上げ
⑩権限周り
11apache設定変更
+α SSLの有効化
①サーバーアップデート
sudo apt update
②apache2のインストール
sudo apt install apache2
③PHPのインストール
sudo apt install php7.2
④サーバー再起動
sudo service apache2 restart
⑤モジュール入れる
sudo apt install zip
sudo apt install unzip
sudo apt install php7.2-mbstring
sudo apt install php7.2-xml
sudo apt install php7.2-mysql
sudo apt install php7.2-bcmath
sudo apt install php7.2-curl
まとめた奴
sudo apt install -y zip unzip php7.2-mbstring php7.2-xml php7.2-mysql php7.2-bcmath php7.2-curl
⑥パッケージ更新一式
sudo apt update
sudo apt upgrade
sudo apt autoclean
sudo apt autoremove
⑦Composer インストール
sudo apt install composer
⑧swapファイル作る(3G分)低スペサーバー限定
無料枠だとLaravel重いからswapfile作って入れる!
sudo fallocate -l 3G /swapfile3
sudo chmod 600 /swapfile3
sudo mkswap /swapfile3
sudo swapon /swapfile3
※Laravel入れたらけしてもOK
sudo swapoff -v /swapfile3
sudo rm /swapfile3
⑨ Laravelプロジェクト立ち上げ
cd /var/www
sudo composer create-project --prefer-dist laravel/laravel プロジェクト名
⑩権限周り
sudo chown -R ubuntu:www-data プロジェクト名
sudo find プロジェクト名 -type d -print | xargs -i chmod 750 {}
sudo find プロジェクト名 -type f -print | xargs -i chmod 640 {}
sudo chmod -R 770 プロジェクト名/storage/
sudo chmod -R 770 プロジェクト名/bootstrap/cache/
11 apache設定変更
①Apache2のドキュメントルート変更
②AllowOverride All変更奴
③RewriteEngine on
④サーバー再起動
⑤オーナー・パーミッションを調整
①Apache2のドキュメントルート
cd /etc/apache2/sites-available/
ls
000-default.conf default-ssl.conf←この2つを変更する
一応記載
sudo vim でファイル編集する際は "i"キーを押すと編集できる。
保存の際は "esc" → ":" → "wq" → エンタ-
※"wq"で保存できな買ったら "!wq"
000-default.conf開く
↓
sudo vim 000-default.conf
上の方にある
DocumentRoot /var/www/laravelプロジェクト名/public に変更
default-ssl.conf開く
↓
sudo vim default-ssl.conf
上の方にある
DocumentRoot /var/www/laravelプロジェクト名/public に変更
②AllowOverride All変更奴
cd /etc/apache2/
sudo vim apache2.conf ←変更してゆく
最下層から少し上がったとこに、似たようなのが複数あるから以下を追記
<Directory /var/www/laravelプロジェクト名/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
③RewriteEngine on
sudo a2enmod rewrite
④サーバー再起動
sudo service apache2 restart
これで完了!
webページをひらけばLaravelのWelcomeページ表示される!
+α SSLの有効化
しなくてもHTTP通信できる
sudo a2enmod ssl
sudo systemctl reload apache2
sudo a2ensite default-ssl
※GoogleChromeはデフォルトのSSLをセキュリティーガバ扱いしてるから、少しやることある
↓
https://qiita.com/Sub_Tanabe/items/f5fc04d1db57152f69bf