heroku で rails を使うための環境を 0 から構築した
ふと、heroku 上の Ruby on Rails で Web アプリケーションを作りたくなったので、Ubuntu 10.10 上に環境を構築してみました。
RVM を導入
RVM (Ruby Version Manager) があれば、ローカルの環境に複数バージョンの Ruby をインストールすることができます。以下にその手順を書きます。
まずは、curl をインストール。
$ sudo apt-get install curl
RVM のインストール。
$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
利便性の向上のため、パスを通しておきます。
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
.bash_profile をリロードすると、上の設定が有効になります。
$ source .bash_profile
これで、わざわざディレクトリを移動しなくても、rvm コマンドが使えるようになります。
次に、依存パッケージのインストールを行ないます。
$ rvm notees
で依存パッケージを確認できます。私の環境では、
$ sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev
としました。
Ruby とか Rails とかをインストール
RVM で任意のバージョンをインストールしつつ、デフォルトに設定するには以下のようにします。
$ rvm install 1.9.2 && rvm use 1.9.2 --default
Rails のインストール。これでとりあえず、最新版をインストールできます。
$ gem install rails
ちなみに、バージョンを確認するには、
$ rails -v
です。執筆時点では rails 3.0.9 でした。
あと、とりあえず DB として、SQLite 3 をインストールしておきます。
$ gem install sqlite3-ruby
Heroku の準備
まずは、heroku gem をインストールします。
$ gem install heroku
heroku にアップロードするための Rails アプリケーションをローカルに作成します。とりあえず、アプリの名前は MYAPPDEMO とでもしておきます。
$ cd 適当な作業ディレクトリ $ rails new MYAPPDEMO
Railes アプリケーションが作成できたら、今度はそれを Git で管理します。
$ cd MYAPPDEMO $ git init $ git add . $ git commit -m "新しい Rails アプリケーション"
heroku にアプリケーションをアップロードするには git push を使うのですが、そのためには SSH のキーが必要です。
もし、SSH キーを生成したことがないなら以下の方法で生成します。
$ cd ./.ssh $ ssh-keygen -t rsa -C "your_email@youremail.com"
Heroku アプリケーションを作成
Heroku 上にアプリケーションを作るには以下のようにします。
$ heroku create
これで、適当な名前の Web アプリケーションが作成されます。
また、アプリケーションの URL と Git のリポジトリが表示されます。
さらに、heroku という名前のリモートリポジトリも作成されます。
自分のアプリケーションを heroku にアップロード
アプリケーションのアップロードは git push を用いて行ないます。
$ git push heroku master
基本的な開発の流れとしては、
- ローカルで開発
- git commit
- 1、2 を繰り返し
- git push heroku
という感じになると思います。
アプリケーションの名前を変更
このままではアプリケーションの名前がデフォルトのままです。
名前を変更するには、heroku rename を使います。
$ heroku rename NEWNAME
とりあえず、これで Heroku 上で Rails を動かす最低限の環境が構築できました。