How to install Rails on CentOS 5.2

Hi

I have installed CentOS 5.2 on my PC. Ruby 1.8.5 and Ruby-devel
packages are already installed. I have downloaded rubygems-1.3.1.tgz
package and installed it. Now I am trying to install Rails by the
command below:

gem install rails

But it gives me the following error:

ERROR: While executing gem … (Zlib::DataError)
incorrect header check

zlib and zlib-devel are already installed on my pc. I can install
other gems like hpricot etc. But still I cannot install rails.

Can somebody please guide me how can I install rails on CentOS?

Thank you,
Paryank

Hi Paryank,

Though I have no direct solution for you, I think compile/install Ruby
1.8.7 may solve this problem, while ruby packages on CentOS is obsolete.

Jan

Thanks for your help. But it still does not work.

I have downloaded ruby source, compiled and installed. It still gives
the same error!

I do not understand what I am missing!

Here is what I have - it may be a little old now - from notes to get
our CentOS sever running.

INSTALLING RUBY ON RAILS:

  1. Install Ruby

See:
http://rubyonrails.org/down

wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
tar -zxvf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure --with-openssl-dir=/usr/lib/openssl
make
sudo make install

These MAY not be needed. Come back and do them if things don’t go
right in install ruby gems and rails.
1a) zlib support
cd ruby-1.8.6
ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/
lib
make
sudo make install

1b) openssl
cd ruby-1.8.6/ext/openssl
ruby extconf.rb
make
sudo make install

  1. Install ruby gems
    wget http://rubyforge.org/frs/download.php/28174/rubygems-0.9.5.tgz
    tar -zxvf rubygems-0.9.5.tgz
    cd rubygems-0.9.5
    sudo ruby setup.rb config
    sudo ruby setup.rb setup
    sudo ruby setup.rb install

  2. Install Rails:
    sudo gem install --version ‘2.1.0’ rails --include-dependencies

  3. Install Mongrel
    sudo gem install mongrel mongrel_cluster

Ok,
Here is what I have to prep the box - this may not apply as it depends
on your install, but maybe you can look through here and see.

PREP THE SYSTEM:

  1. As root:
    rpm -i
    http://ftp.gui.uva.es/sites/centos.org/4.6/os/i386/CentOS/RPMS/python-elementtree-1.2.6-5.el4.centos.i386.rpm
    rpm -i
    http://ftp.gui.uva.es/sites/centos.org/4.6/os/i386/CentOS/RPMS/sqlite-3.3.6-2.i386.rpm
    rpm -i
    http://ftp.gui.uva.es/sites/centos.org/4.6/os/i386/CentOS/RPMS/sqlite-devel-3.3.6-2.i386.rpm
    rpm -i
    http://ftp.gui.uva.es/sites/centos.org/4.6/os/i386/CentOS/RPMS/python-sqlite-1.1.7-1.2.1.i386.rpm
    rpm -i
    http://ftp.gui.uva.es/sites/centos.org/4.6/os/i386/CentOS/RPMS/python-urlgrabber-2.9.8-2.noarch.rpm
    rpm -i
    http://ftp.gui.uva.es/sites/centos.org/4.6/os/i386/CentOS/RPMS/yum-metadata-parser-1.0-8.el4.centos.i386.rpm
    rpm -i
    http://ftp.gui.uva.es/sites/centos.org/4.6/os/i386/CentOS/RPMS/yum-2.4.3-4.el4.centos.noarch.rpm
    rpm -Uvh
    http://ftp.gui.uva.es/sites/centos.org/4.6/os/i386/CentOS/RPMS/centos-release-4-4.4.i386.rpm
    rpm --import
    http://mirror.centos.org/centos-4/4.6/os/i386/RPM-GPG-KEY-centos4

  2. install gcc
    sudo yum install -y gcc

  3. install wget
    sudo yum install -y wget

  4. install various other things that came up!
    sudo yum install -y fedora-rpmdevtools – not found/needed
    sudo yum install -y openssl-devel
    sudo yum install -y zlib zlib-devel
    sudo yum install -y libjpeg-devel libpng-devel glib2-devel fontconfig-
    devel zlib-devel libwmf-devel freetype-devel libtiff-devel
    sudo yum install -y cabextract – not found
    sudo yum install -y pcre-devel
    sudo yum install -y subversion
    sudo yum install -y readline-devel

Create a file in $HOME called .rpmmacros with the following line in it
%_topdir %(echo $HOME)/rpmbuild
create the directories $HOME/rpmbuild/BUILD and $HOME/rpmbuild/RPMS/
noarch

  1. cabextract
    wget
    http://centos.karan.org/el4/extras/stable/i386/RPMS/cabextract-1.1-2.i386.rpm
    sudo rpm -ihv cabextract-1.1-2.i386.rpm

  2. get ssh keys in place
    http://homepage.mac.com/kelleherk/iblog/C1901548470/E20061128145420/index.html

Thanks phil,

But I still have the same error.

I have removed my existing ruby package by:

yum remove ruby

And then followed the steps you have mentioned. But when I run command
to install rails first it try to update rubygems. It was taking very
long time. So I have updated rubygems by the following command:

gem update --system

After gem is successfully updated, I tried again to install rails. But
it was giving the same error again:

ERROR: While executing gem … (Zlib::DataError)
incorrect header check

Messed up my link. Here:
http://blog.sonerdy.com/2009/01/setting-up-rails-on-godaddy-centos.html

I have a pretty good step by step on setting up rails on a GoDaddy
CentOS server: Setting
up Rails on CentOS

This uses passenger. Hope it helps!