CentOS 8
Sponsored Link

Ruby on Rails 6 : Install2020/12/08

 
Install Ruby on Rails 6 to build Ruby Framework environment.
[1]
[2] Install some other required packages.
[root@dlp ~]#
curl https://dl.yarnpkg.com/rpm/yarn.repo > /etc/yum.repos.d/yarn.repo

[root@dlp ~]#
dnf -y install ruby-devel rpm-build make gcc gcc-c++ gcc-gdb-plugin libxml2 libxml2-devel mariadb-devel zlib-devel libxslt-devel nodejs yarn
[3] Install Rails 6.
[root@dlp ~]#
gem install bundler

[root@dlp ~]#
gem install nokogiri -- --use-system-libraries

[root@dlp ~]#
gem install rails --version="~>6.0"

[root@dlp ~]#
rails -v

Rails 6.0.3.4
[4] Create a sample application and make sure it works normally.
Install MariaDB Server for this sample app, refer to here.
Furthermore, if Firewalld is running and also access to Rails from other Hosts, it needs to allow port 3000.
[root@dlp ~]#
gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config

[root@dlp ~]#
rails new SampleApp -d mysql

[root@dlp ~]#
cd SampleApp

[root@dlp SampleApp]#
vi config/database.yml
default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root       # MariaDB database user
  password: password   # MariaDB user password
  host: localhost

[root@dlp SampleApp]#
vi config/application.rb
module SampleApp
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 6.0
    # line 13 : specify hosts
    # if not specified, users can access to only [localhost] and IP address
    # if allow all sub-domain, specify domain name like follows
    config.hosts << ".srv.world" 

# create sample application

[root@dlp SampleApp]#
rails db:create

Created database 'SampleApp_development'
Created database 'SampleApp_test'
[root@dlp SampleApp]#
rails generate scaffold testapp name:string title:string body:text

[root@dlp SampleApp]#
rails db:migrate

== 20201208023459 CreateTestapps: migrating ===================================
-- create_table(:testapps)
   -> 0.1766s
== 20201208023459 CreateTestapps: migrated (0.1800s) ==========================

[root@dlp SampleApp]#
rails server --binding=0.0.0.0

=> Booting Puma
=> Rails 6.0.3.4 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.7 (ruby 2.7.1-p83), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop
[5] Access to the [http://(server's hostname or IP address):3000/] from a client computer. It's OK if following site is displayed normally.
  Access to [http://(server's hostname or IP address):3000/testapps/], then it's possbile to use sample app like follows.
Matched Content