homesteadからHerokuへデプロイした時のメモ
参考サイトほぼまんまだけど, メモ.
herokuアカウントを作る
アクセスして作る.
CLIツールを入れる
homestead上で入れた.
sudo snap install --classic heroku
CLIツールでログインする
vagrant@homestead:~/code$ heroku login heroku: Enter your login credentials Email: hoge@gmail.com Password: ********* Logged in as hoge@gmail.com
プロジェクトフォルダへ移動
cd ~/code
procfileを作る
apache2を使ってドキュメントルートはpublicですよという宣言らしい.
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile git add . git commit -m 'add Procfile for heroku'
とりあえずデプロイして確認してみる
heroku create git push heroku master heroku open # cli環境なのでURLが表示される
エラーが出たのでログをとる
公式によるとerrorlogに出せばいいらしい.
config/logging.phpを変えた.
'channels' => [
'stack' => [
'driver' => 'stack',
- 'channels' => ['single'],
+ 'channels' => ['single', 'errorlog'],
],
'single' => [
APP_KEYの設定
APP_KEYがないと怒られていたので設定.
ついでにAPP_NAMEとAPP_URLも設定しておく.
heroku config:set APP_KEY=$(php artisan key:generate --show) heroku config:set APP_NAME=見積管理システム heroku config:set APP_URL=https://secure-spire-46506.herokuapp.com
DBを使う
クレジットカード登録さえしてあれば, Postgresが無料で使えるので.
この辺はここを参考
# 無料プランを使うように設定 $ heroku addons:create heroku-postgresql:hobby-dev # 怖いので確認 $ heroku addons Add-on Plan Price State ────────────────────────────────────────── ───────── ───── ─────── heroku-postgresql (postgresql-cubed-28431) hobby-dev free created └─ as DATABASE The table above shows add-ons and the attachments to the current app (secure-spire-46506) or other apps. # DB情報を確認 $heroku config:get DATABASE_URL postgres://<ユーザ名>:<パスワード>@<ホスト>:5432/<DB名> # LaravelのDB用に環境変数を設定 # (上記の結果を当てはめる) $ heroku config:set ` DB_CONNECTION=pgsql ` DB_HOST=<ホスト> ` DB_DATABASE=<DB名> ` DB_USERNAME=<ユーザ名> ` DB_PASSWORD=<パスワード> # マイグレーションする $ heroku run php artisan migrate
HTTPSを強制する
どうも挙動がおかしいと思ったらリンクがhttpになって一部のスクリプトがうまく読み込まれていない.
herokuだとhttpになって動いたりしている.
よーわからんが, 参考リンクをもとにhttps通信を強制するようにした.