読者です 読者をやめる 読者になる 読者になる

反省はしても後悔はしない

Vim とか備忘録とか。それと関数型言語勉強中

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"

これで、/home/USER/.ssh/ 内に SSH のキーが作られます。

Heroku アプリケーションを作成

Heroku 上にアプリケーションを作るには以下のようにします。

$ heroku create

これで、適当な名前の Web アプリケーションが作成されます。
また、アプリケーションの URL と Git のリポジトリが表示されます。
さらに、heroku という名前のリモートリポジトリも作成されます。

自分のアプリケーションを heroku にアップロード

アプリケーションのアップロードは git push を用いて行ないます。

$ git push heroku master

基本的な開発の流れとしては、

  1. ローカルで開発
  2. git commit
  3. 1、2 を繰り返し
  4. git push heroku

という感じになると思います。

アプリケーションの名前を変更

このままではアプリケーションの名前がデフォルトのままです。
名前を変更するには、heroku rename を使います。

$ heroku rename NEWNAME


とりあえず、これで Heroku 上で Rails を動かす最低限の環境が構築できました。