Ruby on Railsの導入方法

千田 智治 , 廣安 知之, 三木 光範

ISDL Report  No. 20061014002

2006年 11月 06日

Abstract

Ruby on Railsとは, Rubyで書かれたWebアプリケーションフレームワークである. 本報告では, Windows XPとMac OS Xそれぞれについての環境設定の方法を示す. Railsでアプリケーションを構築する場合, 一般的にSQLデータベースをバックエンドとして利用するため, MySQLの導入方法も示す.

1  はじめに

Ruby on Railsという新しいフレームワークが注目されている. Ruby on Railsとは, Rubyで書かれたWebアプリケーションフレームワークのことである. Railsは誰でも簡単にプログラムを書くことができ, Javaの10倍の早さでWebアプリケーションを構築できると言われている.   本報告では, Windows XPとMac OS Xそれぞれについての環境設定の方法を示す. Railsでアプリケーションを構築する場合, 一般的にSQLデータベースをバックエンドとして利用するため, MySQLの導入方法も示す.

2  Rubyのインストール

2.1  Windows XP

2006年11月現在, 最新版はバージョン1.8.5.2なのでこれをインストールする. Fig.1 に示すように, COM Meets Ruby[1]からmsi形式のインストーラが配布されているので, これをダウンロードして実行する.  

Fig.1: Rubyのダウンロード場所(出典:自作)

インストールは, 通常のアプリケーションと同じであるが, インストール先のディレクトリのみ変更する必要がある. Rubyのインストール先ディレクトリに, スペースが含まれているとRubyGemのインストールがうまくいかない不具合があるためである. "C:/Program Files/Ruby"ではなく, "C:/Ruby"などに変更する.   Railsは複数のコンポーネントに分かれて提供されているため, RubyGemsというパッケージ配布システムを利用してインストールするのが一般的である. RubyForge[2]から, 最新版のバージョン0.9.0のGemsのソースコードをダウンロードする. これをFig.2 に示す.

Fig.2: Gemのダウンロード場所(出典:自作)

tgzとzipファイルが提供されているので, 解凍ソフトに合わせて選択する. ダウンロードしたファイルを適当なツールを使って展開し, その中にあるsetup.rbをFig.3 に示すアイコンをしたRubyコンソールを起動させ, 次のようにroot権限で実行する.  

Fig.3: Ruby Consoleのアイコン(出典:自作)


# ruby setup.rb

これで, RubyGemsのインストールが完了し, パッケージを導入する準備が整った.   コマンドプロンプトやCygwinを利用する場合はPATHの設定をする必要がある. [マイコンピュータのプロパティ]→[詳細設定]→[環境変数]→[システム環境変数]で, Path変数に以下の一文を追加する.


C:\ruby\bin

2.2  Mac OS X

OS X 10.4(Tiger)には, Ruby1.8.2が付属している. Rubyが実際にインストールされているかどうかを確認するには, Terminalアプリケーションを起動して, プロンプトから"ruby -v "と入力する.   次に、RubyGemsをインストールする. Windowsと同様にRubyForge[2]に接続し, ダウンロードページから適切なアーカイブフォルダをダウンロードする(Fig.2 ). ダウンロードが完了したら, ダウンロード先のディレクトリに移動して, (ターミナルアプリケーション内で)次のコマンドを実行する. (Safariによって自動的にアーカイブが展開された場合は, 最初の1行は必要ない. ) 


sendatomoharu> tar xzf rubygems-0.9.0.tar.gz
sendatomoharu> cd rubygems-0.9.0
rubygems-0.9.0> sudo ruby setup.rb
Password: <実際のパスワードを入力>

3  Railsのインストール

3.1  Windows XP

RubyGemsのインストールが終わってしまえば, gemコマンドのみで, Railsと関連するパッケージをインターネットから取得して自動的にインストールすることができる.  


C:/ruby/rubygems-0.9.0> set http_proxy=http://:<ポート名>
C:/ruby/rubygems-0.9.0> gem install rails --include-dependencies

これでパッケージのダウンロードが始まり, 続いてインストールが実行される. RubyとRailsの導入は, 完了となる.

3.2  Mac OS X

RubyGemsを使用して, Railsをインストールする. Terminalアプリケーションを利用して, 次のコマンドを実行する.  


sendatomoharu> sudo gem install rails --remote --include-dependencies

Proxyを使う場合は, 上記のコマンドに以下のコマンドを半角スペースで繋げて指定する.  


--http-proxy http://<サーバのIPアドレス>:<ポート名>

環境のために上記の方法でインストールがうまくいかず, タイムアウトになる場合は以下の方法を行う. これは, http_proxyの環境変数にProxyを設定する.


export http_proxy=http://<サーバのIPアドレス>:<ポート名>
sudo gem install rails

これでRailsの準備は完了である.

4  MySQLのインストール

Railsでアプリケーションを構築する場合には, 一般的にはSQLデータベースをバックエンドとして利用する. どのデータベースを選択しても, Railsの機能などは変わらないので使いなれたものをインストールすれば良いが, 本報告ではMySQLを利用する.

4.1  Windows XP

MySQLのホームページからダウンロードを行なう. Windows版は, インストーラ付きバイナリがMySQL Downloads[3]で配布されているので, こちらをインストールする方が便利である. これをFig.4 に示す.

Fig.4: WindowsのMySQLのダウンロード場所(出典:自作)

ブラウザに示される指示に従って名前やメールアドレスなどを入力していけばMySQLのインストールは完了する.   コマンドプロンプトやCygwinからMySQLを実行するには, Rubyと同様にPATHを通す必要がある. システム環境変数で以下のPATHを追加する.


C:\Program Files\MySQL\MySQL Server 5.0\bin

4.2  Mac OS X

Windowsと同様に, MySQL Downloads[3]からMac OS Xに対応したものをダウンロードする. Macでは, Power PC用と, Intel Mac用の二種類があるため各マシンに対応したファイルをダウンロードする.

Mac Bookの場合はCPUがIntel製であるためMac OS X 10.4 (x86)を選択する. これをFig.5 に示す.

Fig.5: MacのMySQLのダウンロード場所(出典:自作)

ターミナルでもMySQLがインストールできるようにPATHの設定を行なう必要がある.


export PATH=$PATH:/usr/local/mysql/bin

5  Ruby/MySQLのインストール

RubyでMySQLを使用するには, Ruby/MySQLとMySQL/Rubyの2つのライブラリがある. Ruby/MySQLはRubyで出来ており, コピーするだけで使用することができる. だが, MySQL/Rubyよりも低速であったり, MySQL/Rubyで使用できる機能の一部が使用できないという問題点がある. 一方, MySQL/RubyはRuby/MySQLよりも高速であるが, インストールにCコンパイラやスーパーユーザの権限が必要となる.

5.1  Windows XP

Ruby/MySQL[4]からFig.5 に示す場所のruby-mysql-0.2.6.tar.gzをダウンロードして, 解凍する.  

Fig.6: Ruby/MySQLのダウンロード場所(出典:自作)

次に, 以下のコマンドを入力してインストールを行なう.  


% ruby ./test.rb   
# ruby ./install.rb

上記のコマンドにおいて, test.rb に与えるhostname , user, passwdはMySQLサーバと, そのサーバ上でデータベースを作成することができるユーザ/パスワードを指定する. install.rbより, Rubyの標準的なライブラリディレクトリ(Config::CONFIG["rubylibdir"])にインストールされる. 他のディレクトリに置きたい場合は手でコピーをする.   test.rbを実行した際に, 以下のようなエラーがでる場合,


Warning: mysql_connect(): Client does not support authentication
protocol requested by server; consider upgrading MySQL client

次のようなコマンドを入力し, ユーザ名とパスワードを入力する.


SET PASSWORD FOR <ユーザ名>@localhost = OLD_PASSWORD(<パスワード>);

5.2  Mac OS X

Windowsと同様の方法で, Ruby/MySQL[4]からインストールを行なう. 以下のようにMacではsudoコマンドが必要なので, sudoを忘れずに入力する.  


% sudo ruby ./test.rb   
# sudo ruby ./install.rb

UNIXを用いてインストールを行なう場合は, MySQLのUNIX ドメインソケットを調べるためのセットアップが必要である. このとき, 以下のコマンドを最初に入力する.


% sudo ruby ./setup.rb

6  MySQL/Rubyのインストール

Rubyを用いて研究を行なう場合, MySQL/Rubyの方がRuby/MySQLよりも安定しているため, こちらをインストールすることを勧める.

6.1  Windows XP

MySQL/Ruby[5]からFig.7 に示す場所のmysql-ruby-2.7.2.tar.gzをダウンロードして, 解凍する.  

Fig.7: MySQL/Rubyのダウンロード場所(出典:自作)

次に, 以下のコマンドを入力を行なってMakefileを作成する. 3行のコマンドのうち, どれか1つだけで良い.  


% ruby extconf.rb
% ruby extconf.rb --with-mysql-dir=/usr/local/mysql
% ruby extconf.rb --with-mysql-config

うまくいったら次のコマンドを入力する.


% make

次に, スーパーユーザでインストールを行なえば完了である.


# make install

6.2  Mac OS X

Windowsと同様の方法で, MySQL/Ruby[5]からダウンロードを行ない, 以下のコマンドで解凍を行なう. (Safariによって自動的にアーカイブが展開された場合は, 最初の一文は必要ない. )


$ tar xzvf mysql-ruby-2.7.2.tar.gz 
$ cd mysql-ruby-2.7.2

次にMakefileを生成するため, MySQLのインストールされているディレクトリを-with-mysql-dirオプションで指定する.


$ ruby extconf.rb --with-mysql-dir=/usr/local/mysql 

最後にコンパイルを行い, インストールをする.


$ make
$ su
# make install

References

[1]
COM Meets Ruby
http://arton.hp.infoseek.co.jp/indexj.html

[2]
RubyForge
http://rubyforge.org/frs/?group_id=126

[3]
MySQL Downloads
http://dev.mysql.com/downloads/mysql/5.0.html#downloads

[4]
Ruby/MySQL
http://tmtm.org/ruby/mysql/

[5]
MySQL/Ruby
http://tmtm.org/mysql/ruby/


Copyright (C) 2006 Tomoyuki Hiroyasu, All rights reserved.
Copyright (C) 2006 Mitsunori Miki, All rights reserved.
Copyright (C) 2006 Tomoharu Senda, All rights reserved.

No part of this document may be reproduced, copied, distributed,
transferred, modified, or transmitted, in any form or by any means,
without the prior written permission of the authors.
In no event shall the authors be liable for any damages caused in any way
out of the use of this document.




File translated from TEX by TTH, version 3.67.
On 13 Nov 2006, 21:19.

Back to Top