その他
    ホーム 技術発信 DoRuby 10分ではじめるウェブサービス

    10分ではじめるウェブサービス

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。


    よしだです。

    今回は無料で使える PaaS「Heroku」を利用して、簡単にウェブサービスを作成、公開する方法を紹介します。

    ■ 概要

    「Heroku」は無料で使える PaaS です。

    PaaS とは IaaS (一般的なVPS)をベースにしたもので、実用に不可欠であるウェブサーバや DBMS などを最初から備えているサービスを指します。PaaS を利用すれば「ちょっとしたウェブサービスを作って公開したい!」といったときに、自らサーバ構築を行う必要がなくなります。とくに「Heroku」は無料で利用することができ、さらに「サービスの人気向上に伴うサーバ強化」などのスケーリングが必要になった際にも、課金サービスを受けることで柔軟な対応が可能になります。

    今回はこの「Heroku」の利用方法を紹介します。

    ■ 1. Heroku に登録

    1. メールアドレスの登録

    まずは Heroku のアカウント登録ページでメールアドレスを入力します。

    https://api.heroku.com/signup

    メールアドレスを登録すると下記の画面に遷移します。

    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 上に簡単なソーシャルゲームを作成する手順について紹介したいと思います。