0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?