Thursday, April 29, 2010

What is Ruby on Rails? Install on linux plat form

What is Ruby on Rails?
Ruby is a programming language just like Perl, Python or PHP. Rails is an open source Ruby framework for developing database-backed web applications. You could develop a web application at least ten times faster with Rails than you could with a typical Java framework. It is a web application framework written in the Ruby programming language.

We tried the installation of Ruby on Rails on a server with this configuration:
1. Red Hat Linux release 7.3
2. Plesk 5.0.5
3. Apache 1.3.27
4. PHP 4.3.4 # Run as an Apache Module
Install Ruby
Before installing Ruby, first check if zlib is installed in PHP. You can do this by running a simple script with this code.

Now you are all set to start the 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 RubyGems
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

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


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//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 need to set the correct ownership and permissions for the test application. I did the following for my project. You can learn from the 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


Hello World


Hello from Rails!


The current time is <%= Time.now %>



No comments:

Post a Comment