Hatena::Diary

一分一秒真剣勝負! RSSフィード

2008-11-20

CentOS5.2にRuby最新版とRailsをインストール

前提条件

 yumCheckinstall使用して、rails環境を作ります。最新版のRubyパッケージで取得できない場合を想定しています。

事前準備

 まずはRubyのインストール・・・の前に、opensslとopenssl-develをインストールします。既にインストール済みの場合は不要。

# yum install openssl

# yum install openssl-devel

 なぜ最初にこれを入れるかというと、Rubyのインストール前にこれらが入っていない場合、rails実行時に以下のようなエラーが発生するからです。

# ruby script/server

=> Booting WEBrick...

/usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:229:in `require_frameworks': no such file to load -- openssl (RuntimeError)

 もしこのエラーが発生した場合、openssl,openssl-develのインストール後にRubyを再インストールするか、以下の手順を実行すれば解決します。

# cd /usr/local/src/ruby-1.8.7-p72/ext/openssl

# ruby extconf.rb

# make

# make install

Ruby最新版のインストール

 Rubyの旧バージョンがインストール済みの場合、アンインストール

# yum remove ruby-libs

 2008-11-20現在、最新版はruby-1.8.7-p72なので、ダウンロード

# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.gz

# tar zxvf ruby-1.8.7-p72.tar.gz

# cd ruby-1.8.7-p72

 パッケージの作成。

# ./configure --prefix=/usr *1

# make

# checkinstall --fstrans=no *2

 パッケージをインストール。

# rpm -Uvh /usr/src/redhat/RPMS/i386/ruby-1.8.7-p72-1.i386.rpm

 以上で、Rubyの最新版インストールは終了。

RubyGemsのインストール

 RailsをインストールするにはRubyGemsを使うと簡単なので、まずはこれをインストールします。2008-11-20現在、最新版はrubygems-1.3.1なので、ダウンロード。

# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz

 後はRubyと同様にインストール。

# tar zxvf rubygems-1.3.1.tgz

# cd rubygems-1.3.1

# checkinstall -R "ruby setup.rb"

 終了。-Rオプションを付けるとRPMパッケージを作成できますが、オプションは無くても後からパッケージを選択することになります。

Railsのインストール

 ここまでくれば後は簡単。

# gem install rails

# rails -v

Rails 2.1.2

 デフォルトDBmysqlにするオプションを指定し、railsの動作確認。

# rails -d mysql test

# cd test

# ruby script/server

 ローカルホストポート3000番にブラウザからアクセスし、Railsの画面が出れば完了です。

ついでにMySQLのインストール

 CentOS5.2だと、このオプションを付けないとmysql_configの場所を見つけてくれない。

# yum install mysql -- --with-mysql-config=/usr/bin/mysql_config

 後は以下の3つをインストール。

# yum install mysql-devel mysql-server

# gem install mysql

 終了。

*1:インストール先ディレクトリを/usrに指定

*2:インストールしながら処理を進めるRubyの場合、それを回避する為に--fstrans=noオプションが必要。もっと詳しく知りたいけど、詳細はCheckinstallのドキュメントを読めばいいか・・。

トラックバック - http://d.hatena.ne.jp/yatmsu/20081120/1227162444