概要
herokuは自分が作ったアプリケーションをデプロイして動作させることのできるPlatform as a Service (PaaS)です
今回はサンプルのPHPアプリを動作させるところまでやってみました
環境
- Heroku 2015/03/05 時点のサービス
- Mac 10.10.2
- PHP 5.6.6
- Composer 1.0.0-alpha9
- Homebrew 0.9.5
アカウントの作成
アカウントがない場合は作成します
メールアドレスさえあれば登録することができます
トップ画面から「Sign up」をクリックすれば登録画面に遷移するので必要な項目を入力して「Create Free Account」でアカウントを作成します
アカウントの作成ができたらHerokuのダッシュボードにログインできることを確認してください
開発環境の準備
Herokuと連携するためのツールやPHPアプリを開発するためのツールをローカル環境に構築していきます
heroku-toolbelt のインストール
heroku-toolbelt というHerokuにアプリをデプロイしたりすることのできるコマンドラインツールをインストールします
Homebrewがあるならば
brew install heroku-toolbelt
でOKです
Homebrewない場合はここのダウンロードボタンをクリックするとpkgファイルがダウンロードできます
pkgファイルを起動するとheroku-toolbeltをインストールするためのインストーラが起動するのでポチポチしてインストールしていきます
/usr/local/heroku
に必要なコマンド等がインストールされました
最終的にheroku
コマンドが使えるようになっていればOKです
heroku --version
heroku-toolbelt/3.28.2 (x86_64-darwin10.8.0) ruby/1.9.3
You have no installed plugins.
herokuへのログイン
インストールしたherokuコマンドを使ってコマンドからherokuにアクセスできるようにログインします
heroku login
というコマンドを使います
実行するとダッシュボードにログインするためのメールアドレスとパスワードを聞かれるので入力します
heroku login
Enter your Heroku credentials.
Email: xxxxxxxxx@gmail.com
Password (typing will be hidden):
Authentication successful.
「Authentication successful.」と出ればOKです
PHP関係のインストール
サンプルを動作させるのに必要になるのはphp
とcomposer
です
Homebrewを使ってインストールしました
ない場合はそれぞれの公式サイトにインストール方法が記載されているので適宜インストールしてください
- PHP
brew tap homebrew/php
brew install php56
php -v
PHP 5.6.6 (cli) (built: Feb 25 2015 17:07:38)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
- Composer
brew install composer
composer -v
Composer version 1.0.0-alpha9 2014-12-07 17:15:20
サンプルアプリの作成
PHPアプリを開発できる環境が整ったらサンプルアプリを作成していきましょう
作成するといってもすでにあるサンプルアプリを持ってくるだけです
git
で持ってきましょう
git clone https://github.com/heroku/php-getting-started.git
持ってきたらローカルで動作するか試してみます
cd php-getting-started
composer udpate
foreman start web
でhttp://localhost:5000/
にアクセスしてみましょう
「Hello」と表示されるサンプルのアプリが表示されると思います
ローカルので動作が確認できたら次にHeroku上にデプロイしてみます
Tips
Could not fetch https://api.github.com/authorizations, enter your GitHub credentials to go over the API rate limit
composer update
時に上記が出たときにUsernameとPasswordを求められると思います
GithubのAPIをcomposer上でコールしており、もしGithubのアカウントがあるならばGithubのUsernameとPasswordを入力してください
入力後一旦Ctrl+cで抜けて再度composer update
すれば問題なく動作すると思いますforeman
唐突に出てきましたがRuby製のツールでProcfileを読み込み複数のプロセスを管理してくれます
コマンド自体はheroku-toolbeltをインストールした際に同時にインストールされています
ただ、今回の場合サンプルアプリを動作させるのにhttpd
コマンドが必要になるのでインストールされていない場合は別途インストールしてforemanコマンドを実行してみてください
また、mod_proxy, mod_proxy_fcgi, mod_rewrite の拡張モジュールも必要になるので有効にする必要があります
brew tap homebrew/apache
brew install httpd24
sed -i -e 's/\#LoadModule proxy_module libexec\/mod_proxy.so/LoadModule proxy_module libexec\/mod_proxy.so/g' /usr/local/etc/apache2/2.4/httpd.conf
sed -i -e 's/\#LoadModule proxy_fcgi_module libexec\/mod_proxy_fcgi.so/LoadModule proxy_fcgi_module libexec\/mod_proxy_fcgi.so/g' /usr/local/etc/apache2/2.4/httpd.conf
sed -i -e 's/#LoadModule rewrite_module libexec\/mod_rewrite.so/LoadModule rewrite_module libexec\/mod_rewrite.so/g' /usr/local/etc/apache2/2.4/httpd.conf
apachectl stop
apachectl start
Heroku上にデプロイ
早速サンプルアプリをデプロイしてみましょう
アプリの作成
heroku
コマンドを使って作成します
heroku create
Creating shielded-citadel-7646... done, stack is cedar-14
https://shielded-citadel-7646.herokuapp.com/ | https://git.heroku.com/shielded-citadel-7646.git
Git remote heroku added
上記の場合「shielded-citadel-7646」というアプリがHeroku上に作成されています
ダッシュボードで確認してみるといいと思います
アプリ名を変更する場合は「heroku apps:rename changed-app-name」でできます
「changed-app-name」に好きなアプリ名を入力してください
アプリ名はHeroku上で一意である必要があるのですでに使われている場合は使用できません
アプリ名の変更はダッシュボード上からでも可能です(アプリ選択 -> Settings -> Name)
アプリのデプロイ
git
コマンドを使ってデプロイすることができます
git push heroku master
これだけです
デプロイが完了したら
https://shielded-citadel-7646.herokuapp.com/
にアクセスしてみましょう(私のアプリの場合)
URLは https://your-app-name.herokuapp.com/
の命名規則でアクセスすることができます
デプロイ時のログにもアクセスURLが記載されていると思います
もしくはもっと簡単に開く方法として
heroku open
があります
その他便利なコマンド
- heroku logs –tail
サーバ上のアクセスログを確認することができます - heroku apps
存在するアプリの一覧を表示することができます - heroku apps:destroy –app shielded-citadel-7646 –confirm shielded-citadel-7646
指定したアプリをHeroku上から削除します
普段は使いませんが、テストで繰り返しアプリを作成し直したい場合に便利です - heroku apps:info
アプリの詳細を確認することができます
最後に
詳細に説明しているので長くなっていますがやっていることは単純なので、簡単に導入できると思います
同じやり方で既存のPHPアプリもデプロイできそうなので、次回は自分が作成したサンプルアプリでも動かしてみようと思います
無料でここまで使えるのは素晴らしいですね
0 件のコメント:
コメントを投稿