Capistrano

Capistrano is an open source tool for running scripts on multiple servers; its main use is deploying web applications. It automates the process of making a new version of an application available on one or more web servers, including supporting tasks such as changing databases.

Capistrano is written in the Ruby language and is distributed using the RubyGems distribution channel. It is an outgrowth of the Ruby on Rails web application framework, but has also been used to deploy web applications written using other frameworks, including ones written in PHP.

Capistrano is implemented primarily for use on the Bash command line. Users of the Ruby on Rails framework may choose from many Capistrano recipes, e.g. to deploy current changes to the web application or roll back to the previous deployment state.

Installation

Run following command in terminal.

$ gem install capistrano

Phusion Passenger

Phusion Passenger (informally also known as mod_rails and mod_rack) is a free module for the Apache HTTP Server and nginx for deployment of Ruby applications, including those built using the Ruby on Rails framework. It is available as a Gem package and is supported on Unix-like operating systems. Phusion Passenger also supports arbitrary Ruby web applications that follow the Rack interface.

Phusion Passenger is the “preferred deployment setup” for Ruby on Rails applications, and has been recommended by the Ruby on Rails authors. In combination with Ruby Enterprise Edition, Phusion Passenger claims that it is capable of reducing Rails’s memory consumption by 33% as well as increasing its performance.

Installation

Run following commands in terminal.

  1. Install Passenger
    $ gem install passenger

  2. Install Passenger Module for Apache
    $ passenger-install-apache2-module
    After this step press enter.

    Again press enter and install requirements mentioned by software.

  3. After installing these requirements, again run following command
    $ passenger-install-apache2-moduleThe passenger-install-apache2-module script will guide you through what you need to do to get Passenger working.

    It should tell you to copy these lines into your /etc/apache2/apache2.conf:

    LoadModule passenger_module /home/mandy/.rvm/gems/ruby-1.9.3-p327/gems/passenger3.0.18/ext/apache2/mod_passenger.so
    PassengerRoot /home/mandy/.rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.18
    PassengerRuby /home/mandy/.rvm/wrappers/ruby-1.9.3-p327/ruby

    Note: Above lines may be different in your case. Check them according to your script instructions.

    After copying, Restart Apache Server buy executing following commands in terminal.

    $ sudo a2enmod rewrite
    $ sudo service apache2 restart

    At last press ENTER and your phusion passenger is installed on your system.

Ruby on Rails – Installation using RVM

Ruby Version Manager (RVM) is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.

Steps for Installation
Open terminal and run following commands.

  • Step 1
    $ sudo apt-get install build-essential git-core curl
  • Step 2
    RVM Installation
    $ curl -L get.rvm.io | bash -s stable
  • Step 3
    $ echo ‘[[ -s “$HOME/.rvm/scripts/rvm” ]] && source “$HOME/.rvm/scripts/rvm”‘ >> ~/.bashrc
  • Step 4
    $ ~/.bashrc
  • Step 5
    $ . ~/.bashrc
  • Step 6
    Check requirements for Ruby
    $ rvm requirements
  • Step 7
    Install requirements of Ruby by RVM
    $ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
  • Step 8
    Install Ruby with 1.9.3 version
    $ rvm install 1.9.3
  • Step 9
    Check Rubygems version. Its installed with Ruby.
    $ gem -v
    1.8.24
  • Step 9
    Install Rails latest version
    $ rvm gem install rails
  • Step 10
    Check version of Ruby, Rails and Rubygems
    $ ruby -v
    ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
    $ gem -v
    1.8.24
    $ rails -v
    Rails 3.2.8

Installation is complete. Now try RoR Apps.
If you find any error between steps then share it as comments.
Thanks for using this post.

OpenstreetView (OSV) – RoR Application

OpenStreetView (OSV)  is a Ruby on Rails application.
Requirements for OSV
  1. MySQL (Database)
  2. Ruby 1.8-dev
  3. Rails 2.3.8
  4. Rubygems
Installation steps for requirements :
  1. MySQL

    Open the terminal and run the following command :
    $ sudo apt-get install mysql-server mysql-client

  2. Ruby 1.8-dev

    Open terminal and then write the following command :
    $ sudo apt-get install ruby1.8-dev

  3. Rubygems

    Download Rubygems : rubygems-1.3.7.zip
    Now unzip that using following command in terminal :
    $ cd Downloads (Move to location where you downloaded rubygems)
    $ unzip rubygems-1.3.7.zip

    Now move rubygems-1.3.7 to /usr/local/src
    Open terminal and write
    $ cd Downloads
    $ mv rubygems-1.3.7 /usr/local/src

    After that install rubygems. Open terminal and run
    $ cd /usr/local/src/rubygems-1.3.7
    $ ruby setup.rb

    OR

    You can install rubygems by running following command in terminal:
    $ sudo apt-get install rubygems

  4. Rails 2.3.8

    Run following command in terminal:
    $ sudo gem install rails -v 2.3.8

Now check whether you have installed each and everything correctly or not.
Run following in treminal:

      $ ruby -v
      $ gem -v
      $ rails -v

After fulfilling the requirements, its time to download OSV code.

Download the code from:

https://github.com/johnmckerrell/OpenStreetView/downloads

And then extract that somewhere you want.

Or you can do as below:

mkdir OSV
cd OSV
sudo apt-get install git-core;
git clone git://github.com/johnmckerrell/OpenStreetView.git
// or
git clone https://github.com/johnmckerrell/OpenStreetView.git
cd OpenStreetView
cd config
sudo gedit config/database.yml

It will Open the database.yml in Geditor. This file contain the Information regarding the Database connection for OSV So Carefully do as:

a)Change user and password of MySQL and socket as follow
b)socket: /var/run/mysqld/mysqld.sock

Now edit the other file as:
sudo gedit config/environment.rb

// Change server name from www.openstreetview.org to localhost in line
// number 7, in line number 4, make version for RAILS_GEM_VERSION as ‘2.3.8’
Now Change the Directory as Follow as:

cd vendor/plugins/
a)git clone http://github.com/technoweenie/restful-authentication.git restful_authentication
b)sudo rake gems:install
You are Just two Steps away to Run OSV. Now change the Directory as Following and do as:

a)cd OSV/OpenStreetView
b)rake
c)rake db:migrate
d)script/server

The script/server will Start the server , Now you Can run the OSV at localhost as:
 Browse in browser(localhost:3000)

Ruby on Rails – Blog Application (Rails 2 App)

Creating the Blog Application

For creating this application you must install Ruby on Rails on your system and also install the database to add the backend for your applicaton.

Click here for installing Ruby on Rails and MySQL Database.

Follow the steps for creating your blog application in Ruby on Rails :

    1. Open a terminal, navigate to a folder where you have rights to create files, and type :

      $ rails blog -d mysql

      -d mysql option create database with MySQL connectivity.

    2. Now move to blog folder using :

      $ cd blog

    3. Database Configuration

      Open the database.yml file to edit the database settings.
      For this enter following commands in terminal:

      $ cd config/
      $ gedit database.yml

      Replace username and password with your MySQL Username and password.
      Update these changes in all three sections : development, test and production.

      After saving these changes, run this command in terminal:
      $ cd ..

    4. Database Creation

      Run the following command in terminal to create database :

      $ rake db:create

    5. Starting up Web Server

      Run this command in terminal to run default webpage in browser:

      $ script/server

    6. Creating Controller

      Run this command in terminal:

      ruby script/generate controller home index

    7. Edit Home Page

      Open app/views/home/index.html.erb file. Run these commands in terminal:

      $ cd app/views/home/
      $ gedit index.html.erb

      Add following line and Save the file.(You can also delete the previous text)


      <h1>Hello Rails !</h1>

    8. Remove index.html from public folder

      $ cd
      $ cd Desktop/blog
      $ rm pulic/index.html

    9. Setting the Application Home Page

      Open routes.rb file.
      $ gedit config/routes.rb

      Find the line beginning with root :root and uncomment it.
      Replace that line with this :

      map:root :controller => ‘home’, :action => ‘index’

      Now save that file and if you navigate to http://localhost:3000 in your browser, you’ll see the home/index view.

    10. Creating a Resource

      In the case of the blog application, you can start by generating a scaffolded Post resource. To do this, enter this command in your terminal:

      $ script/generate scaffold Post name:string title:string content:text

    11. Running a Migration

      Use following command to create tables:

      $ rake db:migrate

    12. Add a Link

      Open index.html.erb file to add link to My Blog page.

      $ cd app/views/home/index.html.erb

      Add this line at last,

      <%= link_to “My Blog”, posts_path %>

      and save the file.

      The link_to method is one of Rails’ built-in view helpers. It creates a hyperlink based on text to display and where to go – in this case, to the path for posts.

    13. Test Your Blog Application

      $ script/server

      Now open http://localhost:3000/ in browser.

    By these steps your blog is created and if you find any error then feel free to ask and share it through comments.