HerokuでLaravelを動かしてみる

※CentOS8(Vagrant)で実施。

とりあえず、Gitなど必要なものをインストールし、設定しておく。

$ sudo dnf install -y git zip unzip

$ git config --global user.email "(メールアドレス)"
$ git config --global user.name "(ユーザー名)"

Laravelのプロジェクトの作成

PHPをインストール。

$ sudo dnf install -y php php-json php-mbstring php-xml php-zip
$ php --version
PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS )
・・・

Composerをインストール。

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
$ composer --version
Composer version 2.0.8 2020-12-03 17:20:38

Laravelのプロジェクトを作成。

$ composer create-project laravel/laravel hoge --prefer-dist

Herokuのアプリの作成

Herokuをインストールする。

$ sudo su -

# curl https://cli-assets.heroku.com/install.sh | sh
# exit

$ heroku --version
heroku/7.47.11 linux-x64 node-v12.16.2

Herokuにログイン。

$ heroku login -i
・・・
Email: (メールアドレスを入力)
Password: (パスワードを入力)
・・・

アプリケーションを作成。

$ heroku create hoge-hoge-9999
$ heroku apps
・・・
hoge-hoge-9999
・・・

設置

プロジェクトに移動し、Gitのリポジトリの作成。

$ cd hoge
$ git init

HerokuでLaravelを動かすには、Procfileに下記のように記述する必要があるみたいなので、作成。

$ vi Procfile
web: vendor/bin/heroku-php-apache2 public/

あと、エラーが発生した時、原因を調べやすくするために、APP_DEBUGにtrueを設定して、デバッグモードにしておく。

$ vi config/app.php
・・・
'debug' => (bool) env('APP_DEBUG', true),
・・・

コミットしてプッシュ。

$ git add .
$ git commit -m "first commit."
$ git remote add origin https://git.heroku.com/hoge-hoge-9999.git
$ git push origin master

Herokuには。.envがなく、このままではAPP_KEYがなくてエラーになるので、 とりあえず、ローカルの.envのAPP_KEYの値を、環境変数に設定。

$ cat .env
・・・
APP_KEY=(APPのキー)
・・・

$ heroku config:set APP_KEY=(APPのキー)

(.envを参照するのではなく、「heroku run php artisan key:generate --show」で生成するほうがいいかも)

これで、Laravelの画面が表示できる。 f:id:yk5656:20210125094241j:plain