Fippiyのプログラム学習内容アウトプットBlog

日々の学習内容をアウトプットして振り返りを実施する。

Laravel開発、作成したアプリをデプロイして本番環境で動作させる【1】まずは表示させる

laravelでアプリ作成を継続してますが、せっかくなので完成品が見えるようになりたかったので、デプロイすることにしました。

Railsの学習でデプロイは経験したのですが、まだまだ知識不足なこともあり、言語の違いにより設定箇所が違ったりと、学習することが多かったので、実施内容を書きました。

やりたいこと

デプロイして本番環境で表示させること。

ずばりこれだけ。

やったこと

  1. 以前の知識でまず挑戦する
  2. Laravelでの設定項目を確認し実施
  3. 本番環境のエラーを確認
  4. 本番環境の環境変数を設定
  5. Httpsに対応させる

 

具体的にしたこと 

まずはデプロイを実施 

Rails学習時に一度Herokuによるデプロイを実践したことがあるので、まずLaravel特有の話とか気にせず、やってみました。

以前同様こちらの記事を参考にしました。ありがとうございます。

tech-camp.in

ところが、Web表示されず。そんな簡単にはいかないですよね…。

※最初のエラー画面のキャプチャとりそこないました…。

 

設定に何が足らないのか?

Herokuデプロイ + Laravel 関連でとりあえず調べる。

Procfileを設定 

調べてまず分かったことはProcfileというファイルでどのプロセスを使うか宣言する必要があるということ。

これがない為に、プロセスがないまま動作しようとしてました。

設定方法はこちらを参考にさせて頂きました。ありがとうございます。

qiita.com

Procfileを準備してApacheを指定する設定を入れて、ファイルを作成ました。

このファイル、特に拡張子等はないようです。

# ~/Procfile

 

f:id:Fippiy:20190324144054p:plain

procfile

これで本番環境のWebページにアクセスすると、画面が変わりました。

f:id:Fippiy:20190323183104p:plain

エラー画面(2)

エラー表示が変わるもエラーであることには変わりなしと。

本番環境のエラー確認

具体的に本番環境でどういうエラーが出ているのか確認したかったので、デバック関連を調べました。

そして、こちらを参考にさせて頂きました。ありがとうございます。

qiita.com

こちらを導入し、デバッグ設定をtrueにしてみました。

本番環境での確認を行う為に、GitHubでマージまで実施。

※実はここで、本番環境に反映されない状態に。変更をしたブランチを選択できていなかったというだけのミス…。

 

設定後、本番環境でアクセスすると出た画面がこちら。 

f:id:Fippiy:20190323183322p:plain

デバッグ画面

本番環境の環境変数設定

encryption keyがない…。

本番環境での暗号化キー設定がなかったようです。

これも調べてみたんですが、ローカル環境の暗号化キー設定ばっかり出てきて調べ方がおかしいのかと小一時間悩みました…。

 

暗号化キーで検索するのをやめて、環境変数設定で検索すると欲しい回答が見つかりました。

暗号化キーの設定方法はこちらを参考にさせて頂きました。ありがとうございます。

qiita.com

コマンドはこちら

$ heroku config:set APP_KEY=設定するキー

これで本番環境の環境変数として値が設定できました。

 

ここで、環境変数の値の変更方法や削除方法も気になったので、併せて調べてみました。

設定変更方法はこちらを参考にさせて頂きました。ありがとうございます。

qiita.com

設定内容の確認や変更・削除までこれでできます。

分かってないと結構はまるけど、しっかり分かっているとけっこう簡単なことだったんですね…。

そして、設定する暗号化キーについて、キーの確認はローカル側の設定を見てそれを反映させました。コマンドはこちら。 

$ php artisan key:generate --show

 

これで、再度トップページにアクセスすると、画面が表示されました。

 

 

HTTPS対応 

ですが、これだけでは本番環境設定は終わりませんでした。

トップページはHttpsになっているのですが、サインイン画面に入るとHttp接続になってビューも崩れてしまっていました…。

 

対処について調べてみた結果、こちらを参考に修正をしました。ありがとうございます。

www.hakopako.net

 

本番環境時は明示的にHttpsを使用する設定としました。こちらでHttpに接続されることがなくなりました。

 

ここまでで、まずトップ画面及びサインイン画面の表示までが完了しました。

この後、ログインしたかったのですが、本番環境のDBが準備できていないため接続できず…当然と言われればそうなのですが。

 

DBについては、まず現状がどういう設定なのかを改めて確認することをしました。

fippiy.hatenablog.jp

※デプロイしたWebサイトについては、データベース問題が解決指定ないものを公開する訳にもいきませんので、解決後にしたいと考えています。