LoginSignup
1
1

More than 3 years have passed since last update.

LaravelアプリケーションをHerokuへデプロイ

Posted at

問題

掌田津耶乃さんのPHPフレームワークLaravel入門[第2版]の第1章を読んで思った
「デプロイ って言ってもネット上に公開されなくね?」
読んでみると、アプリのページを訪問するためのアドレスが http://localhost/ となっていた
XAMPP(詳しくは知らない)にデプロイするみたいだけど、外部公開する手順は載ってなかった

XAMPP 外部公開 でググってみたら、「自宅サーバを構築」「外部公開はやめとけ」とかヒットしたのでXAMPPで公開は諦めた

学習の産物をネット上に見せたいだけなので、無料で簡単なHerokuにデプロイしようと思う

Railsアプリを作ってた時と同じようにHerokuにgitでpushするだけではダメのようだ(forbiddenが返された)
さてどうしよう

前提

公開するアプリは

% laravel new laravelapp

で作成されたもの。つまり、モデルを使わない静的なページを表示するだけのアプリ

Herokuのアカウントを登録してcliでログインしておくこと
SSHキー追加しておくことも忘れずに(以前にしていたらしなくていい)

% heroku login --interactive
% heroku keys:add

解決法

要はHerokuのドキュメントを見ればいいんですよね

  • GitHubやBitbucketへのリポジトリ追加やプッシュをしておく
#laravelappディレクトリに移動
% git init
% git add -A
% git commit -m "Initialize repository"
% git remote add origin [GitHubやBitbucketのリポジトリ]
% git push -u origin master
  • Procfileをディレクトリ直下に作る
% touch Procfile
% echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile

このProcfileはrootディレクトリの位置を設定するもので、これがないとデフォルトでpublic/がrootディレクトリになってしまう
Procfileを作成したので忘れずコミット

% git add -A
% git commit -m "Procfile for Heroku"
  • Heroku上にアプリケーションを作成してAPP_KEYを設定(ついでに幾つかの環境変数を設定)
% heroku create
% heroku config:set APP_KEY=$(php artisan key:generate --show)
% heroku config:set APP_ENV=heroku
% heroku config:set LANG=ja_JP.UTF-8
% heroku config:set TZ=Asia/Tokyo
  • Herokuへプッシュ
% git push heroku master

終了!

感想

ドキュメント命!

他のQiitaの記事見てたら、マイグレーションが必要な場合はもっとやることがあるらしい
アプリ完成させた時にまたHerokuへデプロイする記事書くかもです

1
1
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
1
1