目次
この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
よしだです。
今回は無料で使える PaaS「Heroku」を利用して、簡単にウェブサービスを作成、公開する方法を紹介します。
■ 概要
「Heroku」は無料で使える PaaS です。
PaaS とは IaaS (一般的なVPS)をベースにしたもので、実用に不可欠であるウェブサーバや DBMS などを最初から備えているサービスを指します。PaaS を利用すれば「ちょっとしたウェブサービスを作って公開したい!」といったときに、自らサーバ構築を行う必要がなくなります。とくに「Heroku」は無料で利用することができ、さらに「サービスの人気向上に伴うサーバ強化」などのスケーリングが必要になった際にも、課金サービスを受けることで柔軟な対応が可能になります。
今回はこの「Heroku」の利用方法を紹介します。
■ 1. Heroku に登録
1. メールアドレスの登録
まずは Heroku のアカウント登録ページでメールアドレスを入力します。
メールアドレスを登録すると下記の画面に遷移します。
https://api.heroku.com/signup/ok
2. メールの確認
Heroku から届いたメールを確認し、記載されている URL にアクセスします。
「Welcome to Heroku」と書かれた入力フォームが開かれます。
3. パスワードを設定
適当なパスワードを設定し、「Save」ボタンを押します。
Heroku への登録はこれだけでおしまいです。
次にクライアント側のセットアップに移ります。
■ Heoku に必要なソフトウェアをセットアップ
1. git 、ruby、rubygems をインストール
今回はウェブサービスの作成に Ruby on Rails を使用することにします。
Heroku では Rails3 がサポートされているので、これに対応するソフトウェアをインストールします。
CentOS の場合:
# yum -y install git
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
# tar xvzf ruby-1.9.2-p290.tar.gz
# cd ruby-1.9.2-p290.tar.gz
# ./configure
# make
# make install
# cd
# wget http://rubyforge.org/frs/download.php/74619/rubygems-1.7.2.tgz
# tar xvzf rubygems-1.7.2.tgz
# cd rubygems-1.7.2
# ruby setup.rb
FreeBSD の場合:
# echo 'RUBY_DEFAULT_VER=1.9' >> /etc/make.conf
# cd /usr/ports/lang/ruby19
# make install clean
# cd /usr/ports/devel/ruby-gems
# make install clean
# cd /usr/ports/devel/git
# make install clean
2. Heroku のセットアップ
Heroku 専用のコマンドをインストールします。
# gem install heroku
# heroku keys:add
Enter your Heroku credentials.
Email: hyoshida@appirits.com
Password:
Uploading ssh public key /home/hyoshida/.ssh/id_rsa.pub
■ ウェブサービスのセットアップ
1. Rails のアプリケーションを作成
適当な名前のアプリケーションを作成します。
% rails new simple-sg
2. Heroku 向けに編集
ここは少し引っかかりやすいところになります。
Heroku では DBMS に PostgreSQL をサポートしているので、これに合わせた設定が必要になります。
% cp Gemfile /tmp
% vim Gemfile
% diff Gemfile /tmp/Gemfile
8,14c8
< group :preoduction do
< gem 'pg'
< end
<
< group :development, :test do
< gem 'sqlite3'
< end
---
> gem 'sqlite3'
% cp config/database.yml /tmp
% vim config/database.yml
% diff config/database.yml /tmp/database.yml
3. 必要な gem のインストール
Rails アプリに必要な gem のインストールを行います。
今回は Rails 主題の話ではないので、細かい説明は割愛します。
% bundle install --path vender/bundle --without production
4. git の初期化
git に、作成したアプリケーションのファイル群をコミットします。
先ほど追加した gem のファイル群は、コミットする必要がないため除外しています。
% cd simple-sg
% git init
% echo 'vender/bundle' >> .gitignore
% git add .
% git commit -m 'first commit'
■ Heroku にアップロード(デプロイ)
1. Heroku 上にアプリケーション枠を用意する
いよいよウェブサービスを公開していきます。
まずは適当なアプリケーション名を Hroku に登録します。
% heroku create simple-sg
Creating simple-sg... done, stack is cedar
http://simple-sg.herokuapp.com/ | git@heroku.com:simple-sg.git
Git remote heroku added
2. リモートリポジトリを追加する
1. で出力された内容を元にして、git にリモートリポジトリを追加します。
% git remote add heroku git@heroku.com:simple-sg.git
3. デプロイする
下記のコマンドで git のコミット内容をリモートリポジトリに反映させるだけで、Heroku 上にウェブサービスが立ち上がります。
% git push heroku master
■ おわりに
少し早足になりましたが、このように簡単にウェブアプリケーションをはじめることができます。
次回は、Heroku 上に簡単なソーシャルゲームを作成する手順について紹介したいと思います。