午後のメモ帳

IT系の勉強メモとかをかいていきます

herokuにlaravel5とMysqlの環境を整える

f:id:sizukutamago:20161020001747p:plain

herokuとは

herokuとはPaaSというサービスで、簡単にいうとレンタルサーバーです
プランがいくつかあり無料でも使用できます

使用できる言語

などが使用できます

なのでRailsやlaravelなどのフレームワークも使用できます


herokuアカウントを作る

www.heroku.com

でアカウントを作成します

f:id:sizukutamago:20161020003349p:plain

Company nameは空欄でも大丈夫です

Primary Development Languageは今回はlaravelを使用するのでPHPにします

登録できたら登録したメールアドレス宛にメールが届くので、
届いたメール内のURLをクリックします

パスワードの設定を求められるのでパスワードを設定します

これでアカウント登録は完了です

herokuCLIの導入

devcenter.heroku.com
からインストーラーをダウンロードします
インストールできたら

heroku --version

を実行し、結果が表示されればインストール完了です

heroku login

を実行し、登録したメールアドレスとパスワードを入力します

ローカルでlaravelアプリを作成する

まずcomposerをインストールします

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

でインストールした後、適当なディレクトリで

composer create-project laravel/laravel [好きなプロジェクト名] --prefer-dist

を実行すると[好きなプロジェクト名]でディレクトリが作成されます

laravelプロジェクトをgit cloneした場合はプロジェクトのrootディレクトリで

composer install
cp .env.example .env
php artisan key:generate

を実行します

権限の変更

storageとbootstrap/cacheに実行権限が必要なのでプロジェクトのrootディレクトリ内で

chmod -R 755 storage
chmod 755 bootstrap/cache

を実行します

動作確認

php artisan serve

を実行しブラウザでhttp://localhost:8000に接続します

f:id:sizukutamago:20161020232752p:plain

のような画面が出たらOKです

herokuアプリを作成する

まずProcfileを作成します

touch Procfile
echo 'web: vendor/bin/heroku-php-apache2 public' >> Procfile

を実行します

次に

heroku create [アプリ名] --buildpack https://github.com/heroku/heroku-buildpack-php

でherokuアプリを作成します

herokuにデプロイするにはgitを使うので
プロジェクトディレクトリ内のrootで

git init 
git add .
git commit -m 'heroku deploy'
git push heroku master

を実行します

heroku config:set APP_KEY=$(php artisan key:generate --show)

でAPP_KEYを設定して

heroku open

を実行するとブラウザが開きエラーが出ずに
f:id:sizukutamago:20161020232752p:plain
の画面になって入れば成功です

Mysqlの設定

herokuでMysqlを使用するには無料でもクレジットカードの登録が必要になります
自分はvプリカで登録しました

Account settingsのBillingから登録します
登録できたらプロジェクトのrootで

heroku addons:add cleardb

を実行します
するとmysqlが使用出来るようになります

heroku config

を実行するとherokuの環境変数が表示されます

DBの情報は

CLEARDB_DATABASE_URL: mysql://[DB_USERNAME]:[DB_PASSWORD]@[DB_HOST]/[DB_DATABASE]?reconnect=true

となっています

なので

heroku config:set DB_USERNAME=[DB_USERNAME]

の様に設定していきます

後はmigrationファイルを作成し

git add .

git push heroku master

までしてから

heroku run php artisan migrate

して成功できたら完成です

お疲れ様でした

最後に

楽しいherokuライフをお過ごしください