Create a rails app on Ubuntu 14.04

Get the pre-requisite:

sudo apt-get update
sudo apt-get install -y build-essential libssl-dev libyaml-dev libreadline-dev openssl curl git-core zlib1g-dev bison libxml2-dev libxslt1-dev libcurl4-openssl-dev nodejs libsqlite3-dev sqlite3
mkdir ~/ruby
cd ~/ruby
wget http://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
tar -xzf ruby-2.4.1.tar.gz
cd ruby-2.4.1
./configure
make
sudo make install


Install Passenger and Nginx:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo nano /etc/apt/sources.list.d/passenger.list

OLD: TO REMOVE:

Insert the line :

deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main

END OLD

sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list
sudo apt-get update
sudo apt-get install -y nginx-extras passenger

OLD:

sudo apt-get install ruby-dev
sudo apt-get install ruby2.0-dev
sudo apt-get install ruby2.2-dev
sudo apt-get install ruby2.3-dev
sudo gem install railties -v 5.1.4.rc1
sudo gem install bundler
sudo gem install --no-rdoc --no-ri rails
rails new testapp --skip-bundle

Uncomment in Gemfile:

gem 'therubyracer', platforms: :ruby

bundle install

Configure Nginx:

REmove default configuration:

sudo nano /etc/nginx/sites-available/default

Comment the lines:

listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

Create the configuration

sudo nano /etc/nginx/sites-available/testapp
server {
  listen 80 default_server;
  server_name www.mydomain.com;
  passenger_enabled on;
  passenger_app_env development;
  root /root/testapp/public;
}

sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/testapp

How To Deploy a Rails App with Passenger and Nginx on Ubuntu 14.04

Installing Passenger + Nginx