purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

CentoOS6.5にRuby2.0.0インストール

railsの動作環境をつくろうと思ったがRails3.2がRuby1.8.7で動く最後のバージョンで 今はもうRails4でしょうということでRuby インストール辺です。

こちらを参考に
http://www.server-world.info/query?os=CentOS_6&p=ruby20

依存しているモジュールインストール

EPELリポジトリは追加している前提で
$ yum --enablerepo=epel -y install libyaml libyaml-devel readline-devel ncurses-devel gdbm-devel tcl-devel openssl-devel db4-devel libffi-devel
$ yum -y install curl-devel

Ruby2.0.0のRPM作成失敗

# yumからは無理そうなので、2.0.0をrpmインストール

# RPMパッケージ作成用の作業ディレクトリ、サブディレクトリを一気に作成
$ mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

# ソースを取得 
$ wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz -P rpmbuild/SOURCES
# SPECファイル(RPMを作成するためのコンフィグファイル)を取得
$ wget https://raw.github.com/hansode/ruby-2.0.0-rpm/master/ruby200.spec -P rpmbuild/SPECS

# RPM作成(時間がかかる)
$ rpmbuild -bb ~/rpmbuild/SPECS/ruby200.spec

# インストール
$ rpm -Uvh ~/rpmbuild/RPMS/x86_64/ruby-2.0.0p353-2.el6.x86_64.rpm

とやってみたがこんなエラーがでた

error: Failed dependencies:
libruby.so.1.8()(64bit) is needed by (installed) ruby-augeas-0.4.1-1.el6.x86_64
libruby.so.1.8()(64bit) is needed by (installed) ruby-shadow-1.4.1-13.el6.x86_64
ruby(abi) = 1.8 is needed by (installed) ruby-augeas-0.4.1-1.el6.x86_64
ruby(abi) = 1.8 is needed by (installed) ruby-shadow-1.4.1-13.el6.x86_64

こちら
http://linux.ioerror.us/2013/07/building-rpms-for-ruby-1-9-how-to-resolve-dependency-issues/
に同じようなエラーが出ていたが、解決方法がわからず
無念だがいったん諦めて

Ruby2.0.0のインストール

作成済みのRPMを置いてくれている場所があったのでこちらを利用させていただいた。
http://www.torutk.com/projects/swe/files

# 1.8.7が入ってるのでアンインストール
yum remove ruby

$ cd ~/
$ wget http://www.torutk.com/attachments/download/101/ruby-2.0.0p353-1.el6.x86_64.rpm
$ rpm -Uvh ./ruby-2.0.0p353-1.el6.x86_64.rpm

# Rubyのバージョン確認
$ ruby -v
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]

# gemのバージョン確認
$ gem -v 
2.0.14

passengerのインストール

apacherailsを動かすモジュールをインストール
こちらを参考にしました
http://morizyun.github.io/blog/passenger-install-apache-ruby-rails/

$ gem install passenger
$ passenger-install-apache2-module
→ 1でapache2を選ぶ、enter
→ enter 、何やら色々長いのが始まる
→ Press ENTER to continue. って出てくるのでenterで終了

#↓を実行すると
$ passenger-install-apache2-module --snippet

↓今回はこんなのが表示されましたのでコレコピーして
#↓-- 新規作成 ----------------------------------------------
LoadModule passenger_module /usr/lib64/ruby/gems/2.0.0/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/lib64/ruby/gems/2.0.0/gems/passenger-4.0.45
  PassengerDefaultRuby /usr/bin/ruby
</IfModule>
#--------------------------------------------------------------↑

$ vi /etc/httpd/conf.d/passnger.conf 
に新規作成して貼ります

$ /etc/rc.d/init.d/httpd restart

Railsのインストール

# Railsインストール 
$ gem install rails

# バージョン確認
$ rails -v