🐡

LaravelアプリをHerokuでデプロイしてみる

2024/12/12に公開

Herokuとは

  • クラウドベースのPaas
  • 様々な言語に対応
    • Ruby、Python、Node.js、Java、PHP、Goなど
  • 様々なデプロイ方法あり
    • Heroku CLI
    • Heroku GitHub Integration

前提条件

  • 既にLaravelアプリがローカルに作成されていること

Herokuへのデプロイ手順

1.Herokuアカウントを作成する

  1. Herokuのサイトにアクセス
  2. 「Sign Up」ボタンをクリックし、必要な情報を入力してアカウントを作成

2.Heroku CLIをインストールする

  1. Heroku CLIのインストールページにアクセス
  2. 使用しているOSに応じて、インストールコマンドを実行

3.プロジェクトを作成する

  1. 端末を開き、プロジェクトのディレクトリに移動
    cd your-project-directory
  2. Herokuで新しいアプリケーションを作成
    heroku create hogehoge

4.リポジトリをHerokuにリンクする

  1. リモートリポジトリをHerokuに追加
    git remote add heroku https://git.heroku.com/your-app-name.git

5.APP_KEYを作成し、Heroku Config Varsに設定する

  1. ターミナルを開き、Herokuアプリにログイン
    heroku login
  2. Herokuアプリのディレクトリに移動
    cd your-project-directory
  3. Laravelのartisanコマンドを使ってAPP_KEYを生成
    heroku run php artisan key:generate --show
  4. 生成したAPP_KEYをHeroku Config Varsに設定
    heroku config:set APP_KEY=base64:YOUR_GENERATED_APP_KEY

6.プロジェクトのルートディレクトリにProcfileを作成する

  1. 下記のように記述する
    web: vendor/bin/heroku-php-apache2 public/

7.HerokuでDBのAdd-onsをインストールする

  1. Herokuのダッシュボードから、3で作成したhogehogeアプリを開き、hogehogeアプリのResoucesというタブをクリック
  2. 開いたページにAdd-onsというエリアがあるので、その検索エリアに使いたいDBのAdd-onsの名前を検索して、自分のアプリケーションに追加
    今回はJawsDB MySQLという無料プランがあるものを選んだ

8.JawsDB MySQLの設定を行う

  1. JawsDB MySQLをクリックすると、下記のような設定ページが確認できる
  2. Herokuのhogehogeアプリのsettingsから、Reveal Config Varsを開く
  3. Config Varsで下記の値を設定
    値は手順1で確認した値を入力
  • DB_CONNECTION
  • DB_DATABASE
  • DB_HOST
  • DB_PASSWORD
  • DB_PORT
  • DB_USERNAME
  • JAWSDB_URL

9.アプリケーションをデプロイする

  1. Gitに変更をコミット
    git add . git commit -m "Initial commit"
  2. Herokuにプッシュしてデプロイ
    git push heroku master

10.アプリケーションを起動する

  1. Heroku上でアプリケーションを開く
    heroku open

Discussion