rails環境再構築

CentOS5.2にrails環境を構築したメモ。
最初はOSインストール時にすべてチェックOFFにしてやってみましたがライブラリがあまりに厳しすぎたので、開発ツールとライブラリにチェックを付けてインストールしました。gccとか必要です。

1.ruby

$ cd /usr/local/src
$ tar zxvf ./Archives/ruby-1.8.6-p287.tar.gz
$ cd ruby-1.8.6-p287/
$ ./configure --prefix=/usr/local/ruby1.8.6 --enable-shared
$ make
$ su
# make install
# exit

    • enable-sharedは以前インストールした時にzlibが通らなかったので付けておいた。

今回はOSインストール時からzlibが入っていたので、実は必要ないかも知れません。

とりあえず、パスを通す。

$ vi ~/.bashrc
PATH=/usr/local/ruby1.8.6/bin:$PATH

2.rubygems

$ tar zxvf ./Archives/rubygems-1.3.1.tgz
$ cd rubygems-1.3.1/
$ su
# ruby setup.rb

3.PostgreSQL

$ tar zxvf ./Archives/postgresql-8.3.6.tar.gz
$ cd postgresql-8.3.6/
$ ./configure --prefix=/usr/local/pgsql8.3
$ make
$ su
# make install

とりあえず、パスを通す。

$ vi ~/.bashrc
PATH=/usr/local/ruby1.8.6/bin:/usr/local/pgsql8.3/bin:$PATH

適当にDB作っておく。とりあえず、ホームディレクトリでいいかな。

$ initdb --pgdata=$HOME/pgsql_data --encoding=UTF8

4.rails

$ su
# gem install rails --version=2.1.2

すんなり入った。素のOSのときは苦労したけど簡単に終わりました。

5.RMagick

エラーになるのは分かってるけど、とりあえず足りないものを見るために強行gem実行。

# gem install rmagick
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.

/usr/local/ruby1.8.6/bin/ruby extconf.rb install rmagick
checking for Ruby version >= 1.8.2... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.9.1. Can't find Magick-config in ...

Magick-configが足らないです。ImageMagickを入れます。

# yum install ImageMagick
# gem install rmagick
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.

/usr/local/ruby1.8.6/bin/ruby extconf.rb install rmagick
checking for Ruby version >= 1.8.2... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.9.1. Can't find Magick-config in ...

やっぱり足りない。ファイルを探してみます。

# find / -name Magick-config

findでも見つかりません。yumのリストをチェックします。

# yum list ImageMagick*
Installed Packages
ImageMagick.i386 6.2.8.0-4.el5_1.1 installed
Available Packages
ImageMagick-c++.i386 6.2.8.0-4.el5_1.1 base
ImageMagick-c++-devel.i386 6.2.8.0-4.el5_1.1 base
ImageMagick-devel.i386 6.2.8.0-4.el5_1.1 base
ImageMagick-perl.i386 6.2.8.0-4.el5_1.1 base

ImageMagick-develがありました。インストール。

# yum install ImageMagick-devel
# gem install rmagick
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.

/usr/local/ruby1.8.6/bin/ruby extconf.rb install rmagick
checking for Ruby version >= 1.8.2... yes
checking for gcc... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.3.0... no
Can't install RMagick 2.9.1. You must have ImageMagick 6.3.0 or later.
# Magick-config --version
6.2.8

バージョンが6.3.0より低いのでダメらしい。
rmagick1系の最新1.15.17を入れることにする。

# gem install rmagick --version=1.15.17
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.

/usr/local/ruby1.8.6/bin/ruby gem_extconf.rb install rmagick --version=1.15.17

sh configure --version=1.15.17

configure: error: unrecognized option: --version=1.15.17
Try `configure --help' for more information.
RMagick configuration failed with status 1.


Gem files will remain installed in /usr/local/ruby1.8.6/lib/ruby/gems/1.8/gems/rmagick-1.15.17 for inspection.
Results logged to /usr/local/ruby1.8.6/lib/ruby/gems/1.8/gems/rmagick-1.15.17/gem_make.out

やっぱりエラーになる。手動でコンパイルしてみる。

# cd /usr/local/ruby1.8.6/lib/ruby/gems/1.8/gems/rmagick-1.15.17/
# ./configure
# make
・・・・・
from /usr/local/ruby1.8.6/lib/ruby/gems/1.8/gems/rmagick-1.15.17/./lib/rvg/rvg.rb:236:in `draw'
from RotateScale.rb:36
post-setup.rb: RotateScale.rb example returned error code 256
setup.rb: Too many examples failed. Search for "Help!" at
http://rmagick.rubyforge.org/install-faq.html.
make: *** [all] エラー 1

configureは通るけどmakeでエラーになる。

unable to read font `/usr/share/fonts/default/TrueType/arial.ttf'
unable to read font `/usr/share/fonts/default/TrueType/verdana.ttf'

エラーメッセージによると、フォントが足らないらしい。
ほかのブログを参考にしてフリーのMicrosoftフォントを入れます。

# rpm -ivh msttcorefonts-2.0-1.noarch.rpm
# ls /usr/share/fonts/msttcorefonts/
andalemo.ttf ariali.ttf cour.ttf fonts.dir georgiaz.ttf timesbd.ttf trebucbd.ttf verdanab.ttf
arial.ttf ariblk.ttf courbd.ttf georgia.ttf impact.ttf timesbi.ttf trebucbi.ttf verdanai.ttf
arialbd.ttf comic.ttf courbi.ttf georgiab.ttf tahoma.ttf timesi.ttf trebucit.ttf verdanaz.ttf
arialbi.ttf comicbd.ttf couri.ttf georgiai.ttf times.ttf trebuc.ttf verdana.ttf webdings.ttf
# cd /usr/share/fonts/default/
# ln -s /usr/share/fonts/msttcorefonts TrueType

エラーの出たディレクトリにリンクを張っておきました。
準備万端で再チャレンジ。

# cd /usr/local/ruby1.8.6/lib/ruby/gems/1.8/gems/rmagick-1.15.17
# ./configure
# make
# make install

成功。でもgemでインストールされていない。
gemをダウンロードしてインストールする。

# gem install ./rmagick-1.15.17.gem
Building native extensions. This could take a while...
Successfully installed rmagick-1.15.17
1 gem installed

成功しました。とりあえずrmagickはこれで成功。
ところで、リモートでバージョン指定でインストールした時のエラーメッセージから推測。

/usr/local/ruby1.8.6/bin/ruby gem_extconf.rb install rmagick --version=1.15.17

sh configure --version=1.15.17

configure: error: unrecognized option: --version=1.15.17
Try `configure --help' for more information.
RMagick configuration failed with status 1.

多分、rmagickのconfigureのオプションにversionが無いので、バージョン指定でインストールするとエラーになってるんじゃないでしょうか。

6.pg

# gem install pg

7.mongrel

# gem install mongrel