仕事で Ruby on Rails を使う必要があるのでまずは書籍を購入。
「たのしいRuby第3版」と
「Ruby on Rails 3 アプリケーションプログラミング」の2冊。Rubyも使うのが初めてなのでリファレンス用に1冊。
「Ruby on Rails 3 アプリケーションプログラミング」にはWindows用とLinux用の Rails インストール手順もあるのでまずはWindows用をこの本の記載通りにサクッとインストールして無事に動作を確認。ところがどうも今回使うRubyネイティブモジュールの中にはWindowsでは動作しないものもあることが分かりました。ならと言うのでCentOS 5.6をVMwareで動かして再度 Rails のインストールを… 書かれているだけじゃうまくインストール出来ない… と言うことで少し苦労をしたのでネタとしてブログにまとめておきます。
■ 前準備
まず本体のインストール前に事前に3つ程SDKをインストールする必要があります。zlibとOpenSSLとreadlineです。yumコマンドで簡単にインストール出来ます。
# yum install zlib-devel
# yum install openssl-devel
# yum install readline-devel
■ SQLiteのインストール
SQLiteはCentOS5.6でも標準で入るようですが少しバージョンが古いようです。なので最新版をソースからインストールすることにしました。まずは
SQLiteダウンロードページから昨日最新の
sqlite-autoconf-3070701.tar.gzをダウンロードしました。後は以下手順でビルドとインストール。最後の "make install" だけRoot権限で実行しています。
> tar xvfz sqlite-autoconf-3070701.tar.gz
> cd sqlite*
> ./configure
> make
# make install
シェルから "> sqlite3" と打って起動できればOKです。終了は ".quit" と打ちます。ところで最初から入っているSQLiteを "yum remove sqlite3" と
削除してはいけません(必要なモジュールもごっそり削除されちゃいます)。 また "yum install sqlite3-devel" とするとこれも新旧混在して面倒なことになるのでやめときましょう。ソースからインストールすれば普通はそちらが使われるようになるので既存の古いSQLiteはそのままにしておきましょう。と経験者は語るのでしたw
■ Rubyのインストール
さてこれでRubyのインストール準備が出来たので今度は
Rubyのダウンロードページからやはりこの日最新の
ruby-1.9.2-p290.tar.gzを入手しました。後は先ほどのSQLiteと同じくビルドとインストールです。
> tar xvfz ruby-1.9.2-p290.tar.gz
> cd ruby*
> ./configure
> make
# make install
シェルから "> ruby -v" と打ってバージョン表示されればOKです。
■ SQLiteのRubyパッケージインストール
Rubyが入ったのでSQLite用のドライバパッケージもgemコマンドで入れておきましょう。
# gem install sqlite3
■ RailsのRubyパッケージインストール
Railsインストール準備が出来たのでやはりgemコマンドでRailsをインストールします。
# gem install rails
シェルから "> rails -v" と打ってバージョン表示されればOKです。
以上でRailsがインストールされたので大丈夫だろうとテストプロジェクトを作成して起動してみます。
> rails new testrail
> cd testrail
> rails server
しかし "Could not find a JavaScript runtime." となり起動しません。
Node.js が必要のようです。
■ Node.jsのインストール
と言うことで
Node.jsのダウンロードページから最新の
node-v0.4.11.tar.gzを入手します。そしてまたビルドとインストールです。
> tar xvfz node-v0.4.11.tar.gz
> cd node*
> ./configure
> make
# make install
再度Railsのテストプロジェクトを起動してみたら無事に動作しました。確認は localhost:3000 をブラウザで開ければOKです。以上でインストールが出来ました。
□ おまけ:sudo用ユーザ設定方法
CentOSではsudo用の設定をしておかないとsudoコマンドが使えません。簡単に設定方法も書いておきましょう。
# /usr/sbin/visudo
"# %wheel ALL=(ALL) ALL"の行から先頭の "#" を削除。
# /usr/sbin/usermod -G wheel ユーザ名
以上お疲れ様でした!久しぶりの技術ネタでした(^^; さあRailsが動くようになってからが本当の仕事です。頑張りましょう!