トップページ | 2006年8月 »

2006年4月 2日 (日)

Rails実行環境をWindowsマシンに構築

まずは、Ruby on Railsを触ってみるために、
Rails実行環境を、手持ちのWindowsXPノートPCに、
インストールしてみます。

Windowsの場合は、Rails実行環境をパッケージにした、
Instant Rails もあります。
こちらは、インストーラひとつで、
必要なもの全てがインストールできます。
しかし、Apache、PHP、MySQLなどの環境を、
Rails以外でも使いたい場合には、少々不便かもしれません。
私も最初はInstant Railsを使ったのですが、
結局、全部入れなおしました。

1 Rubyをインストール

Rubyの処理系をインストールします。
推奨バージョンは、1.8.4で、1.8.2でも"fine too"だそうです。

One-Click Ruby Installer for Windowsをダウンロードして、
インストーラを実行します。

2 MySQLをインストール

Railsで使用するデータベースエンジンとして、
MySQLをインストールします。
推奨バージョンは、4.1または5.0とあります。

ダウンロードページに移動して、"Windows (x86)"を、
ダウンロードし、インストーラを実行します。

3 Ruby MySQLドライバをインストール

Ruby MySQLドライバ(mysql.so)をインストールして、
RubyからMySQLデータベースを操作できるようにします。

Windows用のパッケージは存在しないようです。
RubyForApacheに同梱されているので、
ここからインストールせよ、とあります。
RubyForApacheは、ApacheのRuby拡張(mod_ruby)のようですね。

欲しいのは、mysql.soだけで、
Railsを使用するのに、Apacheは必ずしも必要ないわけですが。
この際なので、Apacheをインストールするか、
もしくは、インストーラに適当なディレクトリを、
Apacheのディレクトリだと教えて、騙しましょう。

4 Rakeをインストール

最新バージョンのRake(Ruby Make)をインストールします。
現時点での最新バージョンは、0.7のようです。

インストールは、Rubyに付属のパッケージシステム、
gemを使用します。
コマンドプロンプトから、次のコマンドを実行します。

gem install rake

5 Railsをインストール

さて、ようやくRailsのインストールです。
現時点での最新バージョンは、1.1です。
コマンドプロンプトから、次のコマンドを実行します。

gem install rails --source http://gems.rubyonrails.org

6 動作確認

以上で、Railsのインストールは完了です。
Rolling with Ruby on Railsにあります、
cookbookサンプルアプリケーションを作成して、
ちゃんと動作するかを確認します。

MySQLを操作するUIとして、phpMyAdminをインストールすると、
作業がはかどるかもしれません。
phpMyAdminを動作させるには、Apacheと、PHPが必要になります。

付記 MySQLのパスワード問題について

Client does not support authentication protocol

MySQLでは、バージョン4.1以降で、
パスワードの扱いが変更されたそうです。
このため、古いバージョンのクライアント
(PHP組込みのMySQLドライバが該当します)が、
古いパスワードを使用して、MySQLサーバにログインしようとすると、
上記のエラーとなります。

上記ドキュメントにもありますが、
この問題に対処するひとつの方法は、
古い形式のパスワードを使用し続けることです。

1) 作成済みのユーザ・パスワードは、古い形式に変換する。

mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

または

mysql> UPDATE mysql.user
      ->SET Password = OLD_PASSWORD('newpwd')
      -> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;

2) MySQLサーバを、--old-passwordsオプション付きで起動する。

my.iniに、次の一行を追加。

old-passwords

2)を行うと、今後作成されるパスワードは、すべて古い形式となります。

Railsでは、"be sure to use new-style password hashing"と、
新しい形式を推奨していますが、とりあえずはお遊びなので、
PHPとMySQLを共用したい場合は、古い形式でも良いでしょう。

| | コメント (0)

Ruby on Railsとの邂逅

Ruby on Railsは、オブジェクト指向スクリプト言語Rubyを使用した、Webアプリケーションフレームワークです。

次のような特徴があります。

1) Model-View-Control パターンのアーキテクチャをサポート。

2) ActiveRecordパターンとなるO/Rマッピングをサポート。

3) DSL的な各種機能サポート。

まだ、私も勉強中ですので、あまり適切な説明は出来そうにないのですが、一番目立つ特徴は、2)のO/Rマッピングのサポートだと思います。少なくとも、私にとっては、そうでした。

従来のO/Rマッピング(例えばHibernate)は、XML形式の設定ファイルに、RDBMS内のテーブルと、ホスト言語のオブジェクトとの対応を記述し、ホスト言語側でオブジェクトのソースコードを用意した上で、O/Rマッピングフレームワークで、両者を結び付ける、というものでした。

Railsでは、テーブルとオブジェクトとの対応(通常、設定ファイルに記述)の部分と、オブジェクトのソースコードを用意する部分が不要となっています。つまり、極端な話、DBにテーブルを追加すれば、そのテーブルにO/Rマッピングするオブジェクトが、プログラミングなし、設定ファイルなしで出来上がります。

私は、Railsを見たときに、これこそ真のO/Rマッピングだと思いました。従来のO/Rマッピングフレームワークでは、本当に狭義のマッピング、つまり、オブジェクトをDBのテーブルに代入する部分と、DBのテーブルをオブジェクトに代入する部分しか、やってくれないように思うのです。正直、これでは、フレームワーク導入の手間には見合わないのではと考えていました。しかし、Railsの場合は、ここまでフレームワークがやってくれるのであれば、フレームワークを導入する価値は十分すぎるほどあるように思います。

ただし、ソフトウエアの真価は、使ってみなければわかりませんから。しばらくは、Railsを触ってみようと思っています。

---

RailsによるアジャイルWebアプリケーション開発 Book RailsによるアジャイルWebアプリケーション開発

販売元:オーム社
Amazon.co.jpで詳細を確認する

| | コメント (0)

トップページ | 2006年8月 »