2021/12/10
以前、AWS Cloud9 でLaravelの構築をしました。
今回はこれを Heroku(ヘロク)という無料のWebサーバーにデプロイしてみようと思います。
ゴール
AWS Cloud9 で開発した Laravel5 を Heroku にデプロイ
デモサイト(Heroku) ※表示されるまでに少し時間がかかります
前提条件
- AWS Cloud9 で Laravel 開発環境構築済み
- Heroku でアカウント取得済み
手順
1)Laravel スタートページ作成
2)Heroku コマンドを使えるようにする(heroku-cli)
3)Heroku へログイン
4)Heroku のアプリを作成
5)Procfile の作成
6)Heroku にデプロイ
7).env の APP_KEY を設定
8)動作確認
1)Laravelスタートページ作成
AWS Cloud9 での Laravel 構築は下記をご参考ください。
2)Heroku コマンドを使えるようにする(heroku-cli)
heroku-cli は Heroku をローカル(AWS Cloud9)から利用するためのソフトウェアです。
このソフトを入れると Heroku コマンドを使うことができます。
まずはこのソフトをインストールします。
# heroku-cli(tar.gz形式)のダウンロード
$ curl -OL https://cli-assets.heroku.com/heroku-linux-x64.tar.gz
# ダウンロードしたファイルを解凍
$ tar zxf heroku-linux-x64.tar.gz && rm -f heroku-linux-x64.tar.gz
# 解凍したファイルを移動
$ sudo mv heroku /usr/local
# 環境変数にパスを追加
$ echo 'PATH=/usr/local/heroku/bin:$PATH' >> $HOME/.bash_profile
# bash の設定を再度読み込み
$ source $HOME/.bash_profile > /dev/null
Heroku CLI の導入に成功している場合は $heroku --version
コマンドでバージョン情報が表示されます。
$ heroku --version
3)Heroku へログイン
Herokuコマンドを使って自分のアカウントでログインします。
$ heroku login
4)Heroku のアプリを作成
以下のコマンドでHeroku上にアプリを作成します。
ここでは「laraweb-demo」というアプリを作成しました。
$ heroku create アプリ名
これでHeroku上にアプリを作成する領域ができました。
5)Procfile の作成
このまま Heroku のリモートリポジトリにプッシュしても 403 のページが表示されて見れません。
これは apache のドキュメントルートが間違っているからです。
Heroku は Procfile
という名前のファイルでドキュメントルートを指定することができます。
カレントディレクトリに Procfile を作成します。
$ cd [Laravel project]
$ vi Procfile
Procfile には以下を記述します。
# Procfile
web: vendor/bin/heroku-php-apache2 public
これでルートが Laravel プロジェクト直下の public になります。
6)Herokuにデプロイ
ローカルリポジトリ(AWS)を作成し、リモートリポジトリ(Heroku)を追加。
Heroku のダッシュボードからでもできますが、今回はCloud9のコンソールで作業をします。
# リポジトリの作成
$ git init
# herokuのリモートリポジトリを追加
$ heroku git:remote -a <アプリの名前>
Herokuのリモートリポジトリにプッシュ。
$ git add .
$ git commit -m "heroku deploy"
# herokuにプッシュ
$ git push heroku master
Git の設定は事前に済ませておいてください。以下は設定メモです。
git config --global user.name [名前]
git config --global user.email [email]
git config --local core.quotepath false
Gitコマンドがあやしい方は以下をご参考ください。
7).envのAPP_KEYを設定
このままではアプリケーションキーが設定されていないので、Cloud9 上で以下コマンドを実行します。
$ heroku config:set APP_KEY=$(php artisan key:generate --show)
8)動作確認
$ heroku open
上記のように画面が表示されればOKです。
以上です。
Udemyを使ったLaravel学習方法
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。