Ruby on Rails® noto anche come Rails, è un framework web open source scritto in Ruby. Ti aiuta a creare siti Web e applicazioni estremamente potenti.
Rails è rilasciato sotto licenza MIT ed è stato rilasciato per la prima volta nel 2005 da David Heinemeier Hansson.
Qui installeremo Ruby on Rails su CentOS 8 / RHEL 8.
Prerequisiti
Prima di installare Ruby, abilita il repository EPEL su CentOS 8 / RHEL 8 per ottenere i pacchetti dipendenti.
Installa i pacchetti di sviluppo.
dnf 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
Installa Node.js
Installeremo Node.js per fornire una funzionalità di CoffeeScript e Asset Pipeline in Rails, dipenderà da un runtime Javascript.
Qui utilizzeremo la versione supportata a lungo termine per la nostra installazione di Ruby on Rails.
Se desideri utilizzare la funzionalità più recente, installa Node.js v13.x.
curl -sL https://rpm.nodesource.com/setup_12.x | bash -
dnf install -y nodejs
Convalida la versione Node.js con il comando seguente.
node -v
Output: v12.16.1
Installa filato
Se desideri installare il gestore del pacchetto di filati, esegui i passaggi seguenti.
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
dnf install -y yarn
Installa Ruby
Utilizzo di rbenv (consigliato)
rbenv fornisce un modo semplice per installare e gestire le versioni di Ruby ed è più semplice di RVM.
Per installare rbenv, devi eseguire questi comandi.
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
I comandi precedenti installeranno rbenv nella tua home directory e imposteranno le variabili di ambiente appropriate.
Verifica che rbenv sia impostato correttamente.
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
Output: Checking for `rbenv' in PATH: /home/raj/.rbenv/bin/rbenv Checking for rbenv shims in PATH: OK Checking `rbenv install' support: /home/raj/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20200224) Counting installed Ruby versions: none There aren't any Ruby versions installed under `/home/raj/.rbenv/versions'. You can install Ruby versions like so: rbenv install 2.2.4 Checking RubyGems settings: OK Auditing installed plugins: OK
Installeremo l'ultima versione di Ruby (v2.7.0). Il completamento dell'installazione potrebbe richiedere da 15 a 20 minuti, quindi sii paziente.
rbenv install 2.7.0
Se desideri installare o utilizzare le diverse versioni di Ruby, esegui il comando rbenv install [version] con una versione di Ruby diversa rbenv install -l.
Imposta Ruby v2.7.0 come versione predefinita per tutte le shell.
rbenv global 2.7.0
Controlla la versione Ruby.
ruby -v
Output: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
Se non vuoi che RubyGems installi la documentazione, aggiungi –no-ri e –no-roc nel file ~/.gemrc.
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
Installa il bundler.
gem install bundler
Utilizzo di RVM
RVM (Ruby Version Manager) fornisce un modo semplice per installare e gestire le versioni di Ruby in modo indipendente scaricando automaticamente le sue dipendenze.
Importa la chiave pubblica nel tuo sistema.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Usa il comando curl per installare RVM nel tuo sistema.
curl -sSL https://get.rvm.io | bash -s stable
Carica le variabili di ambiente RVM usando il comando seguente.
source /etc/profile.d/rvm.sh
Con RVM puoi installare e gestire più versioni di Ruby su un unico sistema.
Usa il comando seguente per installare Ruby 2.7.0.
rvm install 2.7.0
Puoi anche installare una versione diversa di Ruby usando il comando rvm install [version].
Imposta Ruby v2.7.0 come predefinito nel caso in cui il tuo sistema abbia più versioni di Ruby.
rvm use 2.7.0 --default
Output: Using /usr/local/rvm/gems/ruby-2.7.0
Controlla la versione Ruby.
ruby -v
Output: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
Installa il bundler.
gem install bundler
Installa Rails
Installeremo l'ultima versione di Rails (v6.0.2.2) con questo comando. Puoi anche installare una versione precedente di Rails menzionando la versione con –v [versione] durante l'installazione.
gem install rails
Verifica la versione di Rails.
rails -v
Output: Rails 6.0.2.2
Firewall
Per impostazione predefinita, Ruby on Rails è in ascolto sulla porta 3000. Quindi, dobbiamo consentire TCP 3000 nel firewall per accedervi da macchine esterne.
firewall-cmd --permanent --add-port=3000/tcp
firewall-cmd --reload
Crea un'applicazione di prova
Per assicurarci che la nostra installazione di Ruby on Rails sia andata a buon fine, creeremo un'applicazione di prova con il supporto di MariaDB per testarla.
Installa database
Rails viene fornito con sqlite3 come database predefinito, che non è consigliabile utilizzare in un ambiente di produzione.
Per le applicazioni Web ad alto traffico, probabilmente vorrai utilizzare MySQL o PostgreSQL.
Qui installeremo e utilizzeremo MariaDB (v10.3) come database per la nostra applicazione.
LEGGI: Installa MariaDB v10.4 su CentOS 8 / RHEL 8.
Nel caso in cui tu abbia scelto di installare MariaDB v10.4 dalla comunità di MariaDB, devi installare i pacchetti MariaDB-devel e MariaDB-shared per Rails.dnf install -y mariadb-server mariadb mariadb-devel
systemctl start mariadb
systemctl enable mariadb
Esegui il comando mysql_secure_installation per proteggere l'installazione di MariaDB.
Installa l'estensione mysql2.
gem install mysql2
Crea applicazione Rails
Crea una nuova applicazione nella tua home directory.
cd ~
rails new itzgeekapp -d mysql
cd itzgeekapp
Modifica il file config/database.yml di configurazione del database della tua applicazione.
vi config/database.yml
Aggiorna il nome utente e la password del database.
default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: password # Replace with MariaDB / MySQL user password socket: /var/lib/mysql/mysql.sock
Crea il database.
rake db:create
Output: Created database 'itzgeekapp_development' Created database 'itzgeekapp_test'
Convalida domanda
Vai alla directory dell'applicazione.
cd itzgeekapp
Avvia la tua applicazione sui binari.
rails server -b 0.0.0.0
Output: => Booting Puma => Rails 6.0.2.2 application starting in development => Run `rails server --help` for more startup options Puma starting in single mode... * Version 4.3.3 (ruby 2.7.0-p0), codename: Mysterious Traveller * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://0.0.0.0:3000 Use Ctrl-C to stop
Se tutto funziona correttamente, la tua applicazione Rails dovrebbe essere in esecuzione sulla porta 3000.
Visita la tua applicazione Rails digitando l'URL sottostante nel tuo browser web.
http://localhost:3000O
http://your.ip.add.ress:3000Dovresti ottenere la seguente pagina.
Conclusione
È tutto. Hai installato correttamente Ruby on Rails su CentOS 8 / RHEL 8. Condividi il tuo feedback nella sezione commenti.