rails3をherokuに公開
Heroku
Heroku概要
公式サイト
開発者用サイト
特徴
- ruby on railsとgitを用いて「無料で」「簡単に」webサイトを公開できることで有名
- 最近では、対応applicationも豊富で、Ruby、Java、Node.js、Python、Clojure、Scalaなどに対応しているらしい
- DatabaseはPostgreSQLを用いている
- 無料で利用できるスペックが比較的大きいこちら
今回の目的
- とにかく、最短で自由に編集できる公開ページを作成すること
現状
- virtual boxというアプリケーションを用いて、仮想環境を構築済
- virtial box 内にubuntu(Linux OS)がインストール済
- ubuntu内に、ruby1.9.3とrails3.2がインストール済
作業 (3時間)
1. rvmを用いて、ruby2.0.0をインストールする(1.5時間)2. herokuの初期設定を行う(0.5時間)
3. PortgreSQLをインストールする(0.5時間)
4. railsアプリを作成する(0.1時間)
5. 作成したrailsアプリを公開する(0.4時間)
1. rvmを用いて、ruby2.0.0をインストールする
参考url1: rvmのインストール方法参考url2: さくらのVPS + Ubuntu + RVM + Ruby 2.0.0-p0 + Rails 3.2.12 + Apache2 + Passenger インストール
1. 参考url1のAnswerに従って、rvmの最新版をインストールする
2. rvmが.~/.rvm/bin/rvmにインストールされたので、.bashrcにalias rvm='~/.rvm/bin/rvm'
を追記
3. 参考url2のrvmの設定の仕方に従って、rvmでruby-2.0.0をインストールし、デフォルトとして設定する
4. bashを再起動する
注意点1: sudo apt-get install ruby-rvm
でrvmをinstallしたが、1.6.7という古いものがinstallされた。
注意点2: 仕方ないのでrvm get head
をして、最新バージョンを手に入れたが、rvmが壊れてますというメッセージが流れ、参考url1を案内された
注意点3: ruby-2.0.0をデフォルトにしようとして rvm use 2.0
としたが、既に無効なコマンドだったらしい。
2. herokuの初期設定を行う
参考url3: https://devcenter.heroku.com/articles/getting-started-with-rails3- 基本的に参考url3に従えばできる
1. https://id.heroku.com/signup/devcenterでアカウント作成
2. https://toolbelt.heroku.com/debianでHerokuで用いるコマンドをインストール
3. heroku login
を打つ
3. PortgreSQLをインストールする
参考url4: http://blog.scimpr.com/2012/09/01/ubuntu12-04%E3%81%A7postgresql%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/1. 参考url4に従って、sudo apt-get install postgresql
を打つ
2. 続いて、sudo su postgres; createdb myapp_development
を打ってデータベースを作成
3. そして、createuser -U postgres -P myapp
を打って、新しいmyappというロールを作成する
4. railsアプリを作成する
1. 参考url3に従って、適当な場所でrails new myapp --database=postgresql
を打つ2. 続いて、
cd myapp
。その中にあるGemfileというファイル内のgem 'sqlite'
をgem 'pg'
に変更し、gem 'rails_12factor', group: :production
を追記する3. そして、
bundle install
を打つ4. myapp/config/database.ymlを参考url3を参照して、変更する
5. myapp直下で
rails server
とするとhttp://localhost:3000でrailsのイントロページが見えるようになる5. 作成したrailsアプリを公開する
1. 参考url3に従い、作成したrailsアプリをgitの管理下に置くため、git init; git add . ; git commit -m "init";
を打つ2.
heroku create
を打つ(これで、gitのpush先などが設定される)3.
git push heroku master
を打つ4. すると、最後のほうに "http://xxxxx.herokuapp.com deployed to Heroku"という表示があるので、コピーする
5. "http://xxxxx.herokuapp.com”にアクセスして、公開されていることを確認する
成果物
シンのおもちゃ箱結果・感想
- rvmのインストールに苦労したが、合計3時間ほどで、railsアプリを公開することができた。(rvmやらなかったら、多分一時間くらいで終わってた。)- urlも勝手に与えられるから、apacheの設定などが不要なのがありがたい
- また、git pushするだけでデプロイができるので、capistranoなどを整備しなくてよいのがありがたい。
- しかし、あくまでサンプル版ならよいが、規模が大きくなるときついんだろうなぁ。とすでに感じている。
追記@ 2013/11/28
config/environments/production.rbにおいて、
config.serve_static_assets = true
config.assets.compile = true
にしないと、js, cssが動かないらしい。