Skip to content

LearningRailsWithTriglav01

mizzy edited this page Mar 5, 2013 · 9 revisions

Triglav で学ぶ Ruby on Rails & GitHub 第1回

以下の手順は、基本的には Linux を対象としています。(インフラエンジニアを想定して書いてるので。)Mac でも適用できる部分は多いですが、必要なライブラリや MySQL まわりなどは、自力で解決してください。(または誰かドキュメント追加して。)

今回は Triglav を動かすまでの手順を紹介します。


rbenv による Ruby のインストール

rbenv 概要

rbenv とは、複数の Ruby バージョンをお手軽に切り替えることができるコマンドラインツールです。システム標準の Ruby に影響を与えることなく、また、自分のホームディレクトリ配下に Ruby をインストールすることができるので、Ruby で何か試してみたい、という場合に、うってつけなツールです。

必要なパッケージのインストール(Linux)

rbenv で Ruby を入れるために必要なパッケージを予め入れておきます。

$ sudo yum install -y gcc gcc-c++ make zlib-devel openssl-devel readline-devel \
 db4-devel libxml2-devel expat-devel libxslt-devel mysql-devel

rbenv のインストール

Mac で Homebrew を利用している場合は、 以下のコマンドでインストールできます。

$ brew install rbenv

Linux の場合には、以下の手順でインストールします。(~/.bash_profile は、利用しているシェルに合わせて適宜変更してください。)

$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL

ruby-build のインストール

ruby-build は、rbenv 用のプラグインで、このプラグインを入れることにより、rbenv install コマンドが使えるようになります。

インストールは以下の手順で行います。

  • brew でインストールする方法 (Mac)
brew install ruby-build
  • GitHub より clone する方法
$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

これで rbenv install コマンドが使えるようになります。

Ruby 1.9.3-p286 のインストール

Triglav は Ruby 1.9.3-p286 上で動くことを前提としてるので、以下のコマンドで Ruby 1.9.3-286 をインストールします。

$ rbenv install 1.9.3-p286
$ rbenv global 1.9.3-p286
$ rbenv rehash
$ ruby -v
ruby 1.9.3p286 (2012-10-12 revision 37165) [x86_64-linux]

Triglav の取得

$ cd
$ git clone git://github.com/kentaro/triglav.git
$ cd triglav

ここで、適切な Ruby バージョンが使われるか、以下のコマンドで確認します。

$ rbenv version
1.9.3-p286 (set by /home/mizzy/triglav/.rbenv-version)

Triglav には .rbenv-version というファイルが含まれています。このファイルがカレントディレクトリにある場合、rbenv はこのファイルで指定されたバージョンの Ruby を使うように動作します。


bundler のインストール

bundler は、RubyGems 管理用のツールです。これを利用することで、必要な gem(Ruby用モジュール) を簡単にインストールできたり、gem バージョンの一貫性を保つことができます。

bundler のインストールは以下のように実行します。

$ gem install bundler
$ rbenv rehash
$ exec $SHELL

bundler の実行

bundler を実行して、Triglav に必要な gems をまとめてインストールします。

$ bundle install --deployment

bundle install を実行すると、Gemfile または Gemfile.lock というファイルの内容にしたがって、必要な gems をインストールします。(Ruby On Rails もここでインストールされます。)

Gemfile.lock がない場合には、Gemfile の内容にしたがって gems のインストールを行い、Gemfile.lock にインストールした gems のバージョンや依存関係などが記録されます。

Gemfile.lock がある場合には、このファイルの内容にしたがって gems のインストールを行います。したがって、あるサーバで bundle install した時にできた Gemfile.lock を別のサーバに持って行って bundle install すれば、まったく同じバージョンの gems がインストールされます。

Triglav には Gemfile と Gemfile.lock が含まれているので、中を覗いてみましょう。

また、--deployment をつけることにより、カレントディレクトリの vendor/bundle 以下に gems をインストールするので、他の場所にインストールされた、バージョン違いの gems に影響されることはありません。


開発に必要なファイルの生成

データベース情報など、開発のために必要なファイルがいくつかあります。以下のようにコマンドを実行して、生成しましょう。

$ rake setup

開発に必要な、以下のファイルが生成されます。

  • config/database.yml
  • config/initializers/secret_token.rb
  • config/settings/{test,development}.yml

GitHub ログイン用設定

Triglav は GitHub ログインを利用しているため、GitHub へのアプリケーション登録が必要になります。

まず、GitHub 上で、右上の工具アイコンをクリック、左のメニューから「Applications」を選択します。

右上の「Register new application」をクリックします。

Main URL と Callback URL に、自分の環境にあった値を設定し、「Register application」をクリック。

ここで表示されている Client ID と Client Secret を「開発に必要なファイルの生成」で生成した config/settings/development.yml に設定します。また、organization には、アクセスを許可する人が属する GitHub 組織アカウントを指定します。

github:
  organizations:
    - paperboy-all # 適宜変更してください
  client_id: xxxxxxxxxxxxxxx # 上記のページに表示されている Client ID
  client_secret: xxxxxxxxxxx # 上記のページに表示されている Client Secret

データベース設定

「開発に必要なファイルの生成」で生成した config/database.yml の development セクションが、以下のようになってることを確認。

development:
  adapter: mysql2
  encoding: utf8
  username: root
  password:
  database: triglav_development
  host: localhost

基本的にこのままで OK。

MySQL のセットアップ

インストール&起動。

$ sudo yum install mysql-server
$ sudo /etc/init.d/mysqld start
$ sudo chkconfig mysqld on

rake db:setup を実行してデータベースやテーブルを作成します。

$ rake db:setup

Triglav の起動とアクセス

$ bundle exec rails server
=> Booting WEBrick
=> Rails 4.0.0.beta application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-10-23 13:28:59] INFO  WEBrick 1.3.1
[2012-10-23 13:28:59] INFO  ruby 1.9.3 (2012-10-12) [x86_64-linux]
[2012-10-23 13:28:59] INFO  WEBrick::HTTPServer#start: pid=30623 port=3000

3000 番ポートにアクセスして、以下のような画面が出ていれば、起動成功です。Sign in から GitHub アカウントでログインしてみましょう。

ログインに成功すれば、このような画面になります。

適当に色々いじってみましょう。