1) Install prerequisites.
[shabbir@compute1~]$ sudo yum install -y git-core zlib zlib-devel gcc-c++ patch readline readline-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel
2) Install rbenv
[shabbir@compute1~]$ git clone git://github.com/sstephenson/rbenv.git .rbenv
[shabbir@compute1~]$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
[shabbir@compute1~]$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
[shabbir@compute1~]$ exec $SHELL
[shabbir@compute1~]$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
[shabbir@compute1~]$ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bash_profile
[shabbir@compute1~]$ exec $SHELL
Reboot the machine.
[shabbir@compute1~]$ systemctl reboot
3) Install Ruby
[shabbir@compute1 ~]$ rbenv install -v 2.2.3
[shabbir@compute1 ~]$ rbenv global 2.2.3
Verify that Ruby was installed properly.
[shabbir@compute1 ~]$
ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
[shabbir@compute1 ~]$ echo "gem: --no-document" > ~/.gemrc
[shabbir@compute1 ~]$ gem install bundler
4) Install Rails
[shabbir@compute1 ~]$ gem install rails -v 4.2.4
[shabbir@compute1 ~]$ rbenv rehash
Verify that Rails was installed properly.
[shabbir@compute1 ~]$ rails -v
Rails 4.2.4
5) Install JavaScript Runtime
Install EPEL Repository.
[shabbir@compute1 ~]$ sudo yum -y install epel-release
[shabbir@compute1 ~]$ sudo yum install nodejs
6) Install Database
[shabbir@compute1
~]$
sudo yum groupinstall mariadb
[shabbir@compute1 ~]$ sudo yum install mariadb-devel
[shabbir@compute1 ~]$ sudo systemctl enable mariadb
[shabbir@compute1 ~]$ sudo systemctl start mariadb
[shabbir@compute1 ~]$ gem install mysql
[shabbir@compute1 ~]$
rbenv rehash
7) Create 'Hello World' Application
7.1) Create Demo Project
[shabbir@compute1 ~]$ rails new demo
7.2) Start the Web Server.
[shabbir@compute1 ~]$ cd demo
[shabbir@compute1 demo]$ rails server
7.3) Open a browser and type the following URL. http://localhost:3000
NOTE: To stop the web server, hit Ctrl+C in the terminal window where it's
running.
7.4) Create a new controller called "welcome" with an action called "index".
[shabbir@compute1 demo]$
generate controller welcome index
create app/controllers/welcome_controller.rb
route get 'welcome/index'
invoke erb
create app/views/welcome
create app/views/welcome/index.html.erb
invoke test_unit
create test/controllers/welcome_controller_test.rb
invoke helper
create app/helpers/welcome_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/welcome.coffee
invoke scss
create app/assets/stylesheets/welcome.scss
The controller, is located at
app/controllers/welcome_controller.rb
and the view, located at
app/views/welcome/index.html.erb
.
7.5) Edit the View.
[shabbir@compute1 demo]$
vi app/views/welcome/index.html.erb
<h1>Hello, World!</h1>
7.6) Now that we have made the controller and view, we need to tell Rails when we
want "Hello, World!" to show up. In our case, we want it to show up when we
navigate to the root URL of our site,
http://localhost:3000. At the moment,
"Welcome aboard" is occupying that spot.
Edit the application's routing file.
[shabbir@compute1 demo]$
vi config/routes.rb
Uncomment the following line
root 'welcome#index'
7.7) Ensure that the Web server is running. Open a browser and type the following URL. http://localhost:3000