LINE BOT を heroku + Laravel5.1 で動かすまで その1
こんにちは、seoです。 odaさんと頑張ってブログをやろうと思ったのに1年間放置。これから頑張ってポストしていく生活にシフトします。 2017年はアウトプットの年にしたいです。
heroku上で Laravel5.1を動かす
LINE BOT Awardsの賞金に目がくらんで(執筆時点では残り時間が無く、アイディアも無かったのでエントリーは断念しました。) Laravel5.1 + heroku の環境でLINE BOTを動かしてみました。 まず今回はheroku上でLaravel5.1を動かすまでを書きます。
前提
Laravel5は現時点で5.3が最新版ですが、5.3だと動かないらしいので5.1にしました。
herokuの準備
herokuのアカウント作成
まずはherokuでアカウント作成。 herokuは5年ぐらい前にRailsを動かすためにアカウントを作ってHello Worldを作った以来。 デザインがキレイになっていて驚き。
heroku toolbelt をインストール
herokuはGUIもキレイなのですが、今回はheroku toolbeltをインストールし、CUIで進めていきます。
対象ページの”OS X installer.”からパッケージをダウンロードしてインストール
heroku上でアプリケーションを作成
ここからはCUIでアプリケーションのインストール
アプリケーションのインストール
$ heroku login
- 初めての人はSSHの公開・秘密鍵を作成
- 初めてのログインに成功するとSSHの公開・秘密鍵のありかを聞かれます。
- 各人鍵の利用方法をに応じて作成か既存の鍵をご利用ください.
Could not find an existing public key.
Would you like to generate one? [Yn]
EmailとPasswordを入力
Enter your Heroku credentials.
Email: xxxxxxxx@xxxx.xxxx
Password (typing will be hidden):
- ログイン 以下のメッセージが表示されログインが出来たらアプリケーションの作成です。
Logged in as xxxxxxx@xxxx.xxxx
- Add-onのインストール
ここまでできていればOK
※ 今回はLINE BOT を動かすので、いくつかAdd-onを追加しました。
ただし、Add-on追加にはクレカの登録が必要なので注意してください。
LINE BOT を動かすだけならAdd-on無しで大丈夫です。
自分は以下の4つのAdd-onをインストールしました
- ClearDB MySQL : MySQLを使うために使用
$ heroku addons:add cleardb
- Fixie : LINE BOT はアクセスをWhiteList形式で制御できるのでアウトのソースIPをこれで固定できる(無料は回数に制限アリ)
$ heroku addons:add fixie
- Heroku Scheduler : 毎朝のPushや定期処理を実行するために利用(無料だと定期処理に制限があるので注意)
$ heroku addons:add scheduler:standard
Laravel5.1の準備
herokuにlaravel5を動かすためのドキュメントがあるので、その通りに実行。
laravel5.1のインストール
- 最新版が5.3なので、今回は5.1を指定してインストール
$ composer create-project laravel/laravel --prefer-dist hello_bot "5.1.*"
gitの登録
- gitを使う人はgitの登録をしておく
$ cd bot
$ git init
$ git add .
$ git commit -m "new laravel bot project"
Procfileの作成
- Procfileの作成を実行
$ echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
$ git add .
$ git commit -m "Procfile for Heroku"
ここまででherokuとLaravelの準備は完了です。次からheroku上でLaravelを動かすところまで進めます。
Laravelのアプリケーションをheroku上で作成
アプリケーション作成
- heroku createの実行 以下のコマンドを実行することでアプリケーションが作られます
$ heroku create
Creating app... done, ⬢ xxxxx-xxxxx-12345
https://xxxxx-xxxxx-12345.herokuapp.com/ | https://git.heroku.com/xxxxx-xxxxx-12345.git
xxxx-xxxxx-12345はランダムで作成される文字
heroku上のレポジトリ設定
- gitのremoteレポジトリに先程作ったアプリを追加
$ heroku git:remote -a xxxxx-xxxxx-12345
keyの設定
Laravelを動かすためにはアプリケーション固有のランダムストリングが必要です。(.envに記載されているモノ) このアプリケーションキーをheroku用に発行します
- アプリケーションキーの生成
$ php artisan key:generate
Application key [アプリケーションキーが出ます] set successfully.
アプリケーションキーをherokuに設定
$ heroku config:set APP_KEY=ここにアプリケーションキーを入力
herokuのレポジトリへPush
- git コマンドを使ってherokuにPush
$ git push heroku master
アプリケーションを実行
$ heroku open
これで以下のような画面が出れば成功!!!
次回はこのアプリケーション上にLINE BOTを作る部分を書きます。