Ruby on Railsという新しいフレームワークが注目されている. Ruby on Railsとは, Rubyで書かれたWebアプリケーションフレームワークのことである. Railsは誰でも簡単にプログラムを書くことができ, Javaの10倍の早さでWebアプリケーションを構築できると言われている. 本報告では, Windows XPとMac OS Xそれぞれについての環境設定の方法を示す. Railsでアプリケーションを構築する場合, 一般的にSQLデータベースをバックエンドとして利用するため, MySQLの導入方法も示す.
2006年11月現在, 最新版はバージョン1.8.5.2なのでこれをインストールする. Fig.1 に示すように, COM Meets Ruby[1]からmsi形式のインストーラが配布されているので, これをダウンロードして実行する.
インストールは, 通常のアプリケーションと同じであるが, インストール先のディレクトリのみ変更する必要がある. Rubyのインストール先ディレクトリに, スペースが含まれているとRubyGemのインストールがうまくいかない不具合があるためである. "C:/Program Files/Ruby"ではなく, "C:/Ruby"などに変更する. Railsは複数のコンポーネントに分かれて提供されているため, RubyGemsというパッケージ配布システムを利用してインストールするのが一般的である. RubyForge[2]から, 最新版のバージョン0.9.0のGemsのソースコードをダウンロードする. これをFig.2 に示す.
tgzとzipファイルが提供されているので, 解凍ソフトに合わせて選択する. ダウンロードしたファイルを適当なツールを使って展開し, その中にあるsetup.rbをFig.3 に示すアイコンをしたRubyコンソールを起動させ, 次のようにroot権限で実行する.
# ruby setup.rb
これで, RubyGemsのインストールが完了し, パッケージを導入する準備が整った. コマンドプロンプトやCygwinを利用する場合はPATHの設定をする必要がある. [マイコンピュータのプロパティ]→[詳細設定]→[環境変数]→[システム環境変数]で, Path変数に以下の一文を追加する.
C:\ruby\bin
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: <実際のパスワードを入力>
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の導入は, 完了となる.
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の準備は完了である.
Railsでアプリケーションを構築する場合には, 一般的にはSQLデータベースをバックエンドとして利用する. どのデータベースを選択しても, Railsの機能などは変わらないので使いなれたものをインストールすれば良いが, 本報告ではMySQLを利用する.
MySQLのホームページからダウンロードを行なう. Windows版は, インストーラ付きバイナリがMySQL Downloads[3]で配布されているので, こちらをインストールする方が便利である. これをFig.4 に示す.
ブラウザに示される指示に従って名前やメールアドレスなどを入力していけばMySQLのインストールは完了する. コマンドプロンプトやCygwinからMySQLを実行するには, Rubyと同様にPATHを通す必要がある. システム環境変数で以下のPATHを追加する.
C:\Program Files\MySQL\MySQL Server 5.0\bin
Windowsと同様に, MySQL Downloads[3]からMac OS Xに対応したものをダウンロードする. Macでは, Power PC用と, Intel Mac用の二種類があるため各マシンに対応したファイルをダウンロードする.
Mac Bookの場合はCPUがIntel製であるためMac OS X 10.4 (x86)を選択する. これをFig.5 に示す.
ターミナルでもMySQLがインストールできるようにPATHの設定を行なう必要がある.
export PATH=$PATH:/usr/local/mysql/bin
RubyでMySQLを使用するには, Ruby/MySQLとMySQL/Rubyの2つのライブラリがある. Ruby/MySQLはRubyで出来ており, コピーするだけで使用することができる. だが, MySQL/Rubyよりも低速であったり, MySQL/Rubyで使用できる機能の一部が使用できないという問題点がある. 一方, MySQL/RubyはRuby/MySQLよりも高速であるが, インストールにCコンパイラやスーパーユーザの権限が必要となる.
Ruby/MySQL[4]からFig.5 に示す場所のruby-mysql-0.2.6.tar.gzをダウンロードして, 解凍する.
次に, 以下のコマンドを入力してインストールを行なう.
% 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(<パスワード>);
Windowsと同様の方法で, Ruby/MySQL[4]からインストールを行なう. 以下のようにMacではsudoコマンドが必要なので, sudoを忘れずに入力する.
% sudo ruby ./test.rb# sudo ruby ./install.rb
UNIXを用いてインストールを行なう場合は, MySQLのUNIX ドメインソケットを調べるためのセットアップが必要である. このとき, 以下のコマンドを最初に入力する.
% sudo ruby ./setup.rb
Rubyを用いて研究を行なう場合, MySQL/Rubyの方がRuby/MySQLよりも安定しているため, こちらをインストールすることを勧める.
MySQL/Ruby[5]からFig.7 に示す場所のmysql-ruby-2.7.2.tar.gzをダウンロードして, 解凍する.
次に, 以下のコマンドを入力を行なってMakefileを作成する. 3行のコマンドのうち, どれか1つだけで良い.
% ruby extconf.rb % ruby extconf.rb --with-mysql-dir=/usr/local/mysql % ruby extconf.rb --with-mysql-config
うまくいったら次のコマンドを入力する.
% make
次に, スーパーユーザでインストールを行なえば完了である.
# make install
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
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.