RVMをさくらVPS(CentOS-5.6)にインストール


このエントリーをはてなブックマークに追加

CentOS-5.6だとライブラリが古かったりしてすんなりとはインストールできません。そんなお話です。

ビルドに必要なソフトのインストール

# gccのインストール
$ sudo yum install gcc.x86_64
$ sudo yum install gcc-c++.x86_64

# yumにrpmforgeリポジトリを追加
$ sudo rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

# makeのインストール
$ sudo yum install make.x86_64 --enablerepo=rpmforge

# gitのインストール
$ sudo yum install git.x86_64 --enablerepo=rpmforge

ソースのビルドが必要になります。gccとmakeがないようであればインストールしておいてください。makeのインストールはyumに rpmforge リポジトリを登録する必要があります。gitもあとで必要になるのでインストールしておきます。

さくらVPSにgitをインストール

autoconfのインストール

$ cd /usr/local/var
$ wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
$ tar zxfv autoconf-2.68.tar.gz
$ cd autoconf-2.68
$ ./configure
$ make
$ sudo paco -D make install

autoconfはrvmがrubyをmakeするときに必要です。yumでインストールできるautoconfはバージョンが古いためエラーになります。めんどうですが最新版をソースからインストールします。

pacoをつかってパッケージ管理します。

「Paco」で「make uninstall」できないソフトを削除する

automakeのインストール

$ cd /usr/local/var
$ wget http://ftp.gnu.org/gnu/automake/automake-1.11.3.tar.gz
$ tar zxfv automake-1.11.3.tar.gz
$ cd automake-1.11.3
$ ./configure
$ make
$ sudo paco -D make install

yumを使ってautomakeをインストールするとautoconfも一緒にインストールされてします。重複するとよくないことが起こるかもしれないので、やはりこちらもソースからビルドしてインストール。

rvmのインストール

# baserubyのインストール
$ sudo yum install ruby.x86_64

# curlのインストール
$ sudo yum install curl.x86_64

# ssl証明書の更新
$ cd /etc/pki/tls/certs/
$ sudo cp ca-bundle.crt ca-bundle.crt.org
$ sudo curl http://curl.haxx.se/ca/cacert.pem -o ca-bundle.crt

# curl-develのインストール opensslとopenssl-develも依存でインストールされる
$ sudo yum install curl-devel.x86_64

# bisonのインストール
$ sudo yum install bison.x86_64

# rvmのインストール
$ cd ~
$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
$ source ~/.bash_profile
$ rvm install ruby-head -C --with-openssl-dir=/usr

rvmを利用するにはRubyがインストールされている必要があります。とりあえずyumで簡単にインストール。

curlはrvmのインストールスクリプトで使用します。SSL証明書を更新しているのはCentOS-5.6のSSL証明書が古いため、そのままインストールするとエラーになりからです。

Passengerを利用したかったので rvm install ruby-head -C --with-openssl-dir=/usr としてOpenSSLサポートを組み込みました。

関連リンク