どうにかして,簡単に作成したWebアプリを無料で公開したいなーと考えていたときにHerokuを知りました.
使うのに少し手間がかかったのでメモ.
環境
Mac OS Sierra 10.12.6
Herokuの設定
Herokuに登録
Heroku CLIのインストール
Set up画面から自分のOSのインストーラを選択
$ heroku login
Enter your heroku credentials.
Email: dz@example.com
Password:
....
各種ライブラリの確認
PHP
$ php -v
PHP 5.6.30 (cli) (built: Aug 8 2017 12:20:45)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Compose
$ compose -V
git
$ git --version
git version 2.8.4 (Apple Git-73)
ComposeがNot Foundの場合
composeのサイトから,the Download page
の部分をクリックして以下のコードをターミナルで実行する.(2017/11/21)
注意: 公開鍵などが変わっている可能性あり
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
composer.phar
が生成されるので,それを実行できるように移動する.
mv composer.phar /usr/local/bin/composer
テスト用データでデプロイ
GitHubにテスト用のファイルが各言語ごとにあるので,それで試す.
$ git clone https://github.com/heroku/php-getting-started.git
$ cd php-getting-started
heroku
と呼ばれる git の remote リポジトリに addする
$ heroku create
Creating app... done, ⬢ fast-river-76079
https://fast-river-76079.herokuapp.com/ | https://git.heroku.com/fast-river-76079.git
ここで出力された.fast-river-76079
がアプリの名前になる.
そのアプリをdeployする.
$ git push heroku master
Counting objects: 178, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (95/95), done.
Writing objects: 100% (178/178), 48.02 KiB | 0 bytes/s, done.
Total 178 (delta 69), reused 178 (delta 69)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> PHP app detected
remote: -----> Bootstrapping...
remote: -----> Installing platform packages...
remote: NOTICE: No runtime required in composer.json; requirements
remote: from dependencies in composer.lock will be used for selection
remote: - php (7.1.11)
remote: - nginx (1.8.1)
remote: - apache (2.4.29)
remote: -----> Installing dependencies...
remote: Composer version 1.5.2 2017-09-11 16:59:25
remote: Loading composer repositories with package information
...
remote: Verifying deploy... done.
To https://git.heroku.com/fast-river-76079.git
* [new branch] master -> master
これでアプリが deploy された.
最後にアプリ用に1つ以上のインスタンスをRunする.
heroku ps:scale web=1
これでURLが作成され,アクセスが可能になる.
直近にdeployしたファイルは
$ heroku open
でページを開くことができる.
参考文献
【5分でわかる】herokuとは?概要や特徴をわかりやすく解説 | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト