Make sure before installing Ruby, zlib is installed in PHP. You can do this by running a simple script with this code.

<?php phpinfo(); ?>

Now you are ready for installation.

cd /usr/local/src
wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.2.tar.gz
tar xvzf ruby-1.8.2.tar.gz
cd ruby-1.8.2
./configure
make
make install
ruby rubytest.rb

If the installaiton is successful, then you will get a message “test succeeded”.

Install Ruby Gems

cd /usr/local/src
wget http://rubyforge.org/frs/download.php/5207/rubygems-0.8.11.tgz
tar xvzf rubygems-0.8.11.tgz
cd rubygems-0.8.11
ruby setup.rb all

This step involves execution of `ruby setup.rb` with arguments `config / setup / install` all together

gem query –local
OR
gem q -L

Listing all installed gems
Install Rails

gem install rails   OR # (Enter Y for all dependencies)
gem install rails –include-dependencies

Install FastCGI

wget http://fastcgi.com/dist/fcgi-2.4.0.tar.gz
tar -xvzf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure
make
make install

Install mod_fastcgi

wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.2.tar.gz
tar -xvzf mod_fastcgi-2.4.2.tar.gz
cd mod_fastcgi-2.4.2
/path/to/apxs -o mod_fastcgi.so -c *.c
/path/to/apxs -i -a -n fastcgi mod_fastcgi.so

In Apache’s httpd.conf, add this line.

Include /path/to/httpd/conf/fastcgi.conf

Now, add this text to fastcgi.conf

cat > /path/to/httpd/conf/fastcgi.conf
User apache
Group apache
<IfModule mod_fastcgi.c>
FastCgiConfig -idle-timeout 900
AddHandler fastcgi-script .fcgi .fpl .rb
FastCgiIpcDir /tmp/fastcgi_ipc/
FastCgiSuexec /usr/sbin/suexec  # To make FastCGI run as suexec. Use path to suexec
</IfModule>

Ctrl + D

mkdir /tmp/fastcgi_ipc/
chown -R apache.apache /tmp/fastcgi_ipc
chmod 700 /tmp/fastcgi_ipc/
service httpd restart

NOTE : In some systems, the ownership of fastcgi_ipc is done by Apache itself, but its safe to include these steps in your routine.

Related files: /usr/local/lib/ruby/gems/1.8/gems/rails-1.0.0/dispatches/dispatch.fcgi # OR ~USER/<app_name>/public/dispatch.fcgi # Log file declaration & all
Install gem bindings

To install gem bindings for Fastcgi and MySQL

gem install fcgi
gem install mysql

Testing
1. Install Test Application

cd ~USER
rails testapp  # Create a test application named ‘testapp’
cd testapp/
./script/generate controller test
cd ~USER/httpdocs
ln -s ~USER/testapp/public rails # In order to access the test application ‘~USER/testapp/public’ from the browser

In order to allow symlinks, enter the following in to ~USER/httpdocs/.htaccess

Options Indexes +FollowSymLinks

Now you have to set the correct ownership and permissions for the test application. here is the cample; example:

cd ~USER
chown -R USER.psacln testapp
chmod -R 755 testapp
chown -R USER.psacln httpdocs/rails
chmod -R 755 httpdocs/rails

Create Test Pages

cd ~USER
cd ~USER/testapp/app/controllers

Create a file called test_controller.rb and put in the following code:

cat > test_controller.rb
class TestController < ApplicationController
def hi
render :text => ‘Hi world’
end
def hello
end
def index
render :text => ‘Hi! This is the Index.’
end
end
Ctrl + D

Now create the test page.

cat > ~USER/testapp/app/views/test/hello.rhtml # The test page
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello from Rails!</h1>
<p>The current time is <%= Time.now %></p>
</body>
</html>

Ctrl + D

Now just access the URL: http://yourdomain/rails/test/hi

NOTE:- Make sure change ownership of the test pages you created.

Now, You have installed Ruby On Rails