LoginSignup
0
0

More than 3 years have passed since last update.

Heroku+Laravel+MySQL+AWS S3(画像)でのデプロイ①

Last updated at Posted at 2020-10-12

はじめに

あまりにデプロイに苦労したため、自分メモを主に記録を残しておきます。
初心者なので、なにかありましたらご指摘いただけましたら嬉しいです。
下準備として、Herokuのユーザー登録が完了しているgit環境済みとします。

Herokuに新規アプリケーションを作成する

まず、右上の「new」→「create new app」を選択し、アプリケーションを作成する。今回は、「samplehoge0105」とする
image.png

MySQLの用意(ClearDB)

clearDBを登録

MySQLを使うために、Herokuの「Resources」のAddoneより「clearDB MySQL」を選択し、下記の無料プランを選択し、登録する。
image.png

clearDBをLaravelで使用できるように環境設定

まず、「settings」の「Reveal config Vars」を選択する。
image.png
すると、下記の箇所に環境設定に必要な情報が入ってくるため、控えておく
image.png
上記で控えた情報を、下記のように設定していく。

 mysql://(ユーザ名):(パスワード)@(ホスト)/(DB名)?reconnect=true

DB_CONNECTION=mysql 
DB_HOST=ホスト
DB_DATABASE=DB名
DB_USERNAME=ユーザ名
DB_PASSWORD=パスワード
APP_KEY=base64:--------
APP_URL=https://(herokuアプリケーション名)samplehoge0105.herokuapp.com

※APP_KEYは取得できます。herokuでlaravelを使うために設定してください。

php artisan key:generate --show

image.png

herokuでphpを使えるようにする

「setting」→「Buildpacks」でphpを選択し、追加する。
この際、nodeを利用している場合はここで追加しておく。
image.png

package.jsonおよび、AppServiceProvider.phpに追加

  1. laravelのプロジェクトの「package.json」ファイルに下記項目を追加する
"scripts":{
"heroku-postbuild": "npm run prod",`(←この行のみ追加)
  1. laravelのプロジェクトの「app/Providers/AppServiceProvider.php」に下記項目に変更
use Illuminate\Support\Facades\Schema;
public function boot()
{
    Schema::defaultStringLength(191);
}

Procfileを作成する

laravelプロジェクトの直下に、procfile(拡張子なし)を作成し、下記内容を記入します。

web: vendor/bin/heroku-php-apache2 public/

※herokuを動かすために、必要なファイルになります。必ず用意してください。

httpsにするために

laravelでは、デフォルト設定では、httpでの動作とされるため、laravelプロジェクト内の「App\Http\Middlewar\TrustProxies」の設定を変える必要があります。

class TrustProxies extends Middleware
{
protected $proxies = '*';(←ここの変更)

herokuへデプロイしていく

ここまで下準備ができたら、デプロイしていきます。
下記コマンドを順番にうっていきます。

$heroku login (herokuへログイン、別ウィンドウでherokuが立ち上がるので、ログインしてください)
$git init (git管理していたら不要です)
$git add . 
$git commit -m "コミットメッセージ"
$heroku git:remote -a samplehoge0105(herokuのアプリケーション名)
$git push heroku master (これでデプロイSTART)

データベースのテーブルを作成する

ここで、やっとmigrationします(ここまではやらない方が無難です)

$heroku run php artisan migrate

デプロイ完成

https://(herokuアプリ名)samplehoge0105.herokuapp.comで確認する

この後、画像の投稿に関して続きます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0