Ruby on Rails®, également connu sous le nom de Rails, est un framework Web open source écrit en Ruby. Il vous aide à créer des sites Web et des applications extrêmement puissants.
Rails est publié sous licence MIT et a été publié pour la première fois en 2005 par David Heinemeier Hansson.
Ici, nous allons installer Ruby on Rails sur CentOS 8 / RHEL 8.
Prérequis
Avant d'installer Ruby, activez le référentiel EPEL sur CentOS 8 / RHEL 8 pour obtenir les packages dépendants.
Installez les packages de développement.
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
Installer Node.js
Nous allons installer Node.js pour fournir une fonctionnalité de CoffeeScript et l'Asset Pipeline dans Rails, dépendent d'un runtime Javascript.
Ici, nous utiliserons la version prise en charge à long terme pour notre installation Ruby on Rails.
Si vous souhaitez utiliser la dernière fonctionnalité, installez Node.js v13.x.
curl -sL https://rpm.nodesource.com/setup_12.x | bash -
dnf install -y nodejs
Validez la version de Node.js avec la commande ci-dessous.
node -v
Output: v12.16.1
Installer Fil
Si vous souhaitez installer le gestionnaire de packages Yarn, veuillez suivre les étapes ci-dessous.
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
dnf install -y yarn
Installer Ruby
Utilisation de rbenv (recommandé)
Le rbenv fournit un moyen facile d'installer et de gérer les versions de Ruby, et il est plus simple que RVM.
Pour installer rbenv, vous devez exécuter ces commandes.
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
Les commandes ci-dessus installeront rbenv dans votre répertoire personnel et définiront les variables d'environnement appropriées.
Vérifiez que rbenv est correctement configuré.
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
Nous allons installer la dernière version de Ruby (v2.7.0). L'installation peut prendre 15 à 20 minutes, alors soyez patient.
rbenv install 2.7.0
Si vous souhaitez installer ou utiliser les différentes versions de Ruby, exécutez la commande rbenv install [version] avec une version Ruby différente rbenv install -l.
Définissez Ruby v2.7.0 comme version par défaut pour tous les shells.
rbenv global 2.7.0
Vérifiez la version de Ruby.
ruby -v
Output: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
Si vous ne voulez pas que RubyGems installe la documentation, ajoutez alors –no-ri et –no-roc dans le fichier ~/.gemrc.
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
Installez le bundler.
gem install bundler
Utiliser RVM
RVM (Ruby Version Manager) fournit un moyen simple d'installer et de gérer les versions de ruby indépendamment en téléchargeant automatiquement ses dépendances.
Importez la clé publique dans votre système.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Utilisez la commande curl pour installer RVM sur votre système.
curl -sSL https://get.rvm.io | bash -s stable
Chargez les variables d'environnement RVM à l'aide de la commande ci-dessous.
source /etc/profile.d/rvm.sh
Avec RVM, vous pouvez installer et gérer plusieurs versions de Ruby sur un seul système.
Utilisez la commande ci-dessous pour installer Ruby 2.7.0.
rvm install 2.7.0
Vous pouvez également installer une version différente de Ruby à l'aide de la commande rvm install [version].
Définissez Ruby v2.7.0 par défaut au cas où votre système dispose de plusieurs versions de Ruby.
rvm use 2.7.0 --default
Output: Using /usr/local/rvm/gems/ruby-2.7.0
Vérifiez la version de Ruby.
ruby -v
Output: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
Installez le bundler.
gem install bundler
Installer les rails
Nous allons installer la dernière version de Rails (v6.0.2.2) avec cette commande. Vous pouvez également installer une ancienne version de Rails en mentionnant la version avec –v [version] lors de l'installation.
gem install rails
Vérifiez la version de Rails.
rails -v
Output: Rails 6.0.2.2
Pare-feu
Par défaut, Ruby on Rails écoute sur le port 3000. Nous devons donc autoriser TCP 3000 dans le pare-feu afin d'y accéder depuis des machines externes.
firewall-cmd --permanent --add-port=3000/tcp
firewall-cmd --reload
Créer une application de test
Pour nous assurer que notre installation de Ruby on Rails s'est bien déroulée, nous allons créer une application de test avec le support MariaDB pour la tester.
Installer la base de données
Rails est livré avec sqlite3 comme base de données par défaut, qu'il n'est pas recommandé d'utiliser dans un environnement de production.
Pour les applications Web à fort trafic, vous voudrez probablement opter pour MySQL ou PostgreSQL.
Ici, nous allons installer et utiliser MariaDB (v10.3) comme base de données pour notre application.
LIRE : Installez MariaDB v10.4 sur CentOS 8 / RHEL 8.
Si vous avez choisi d'installer MariaDB v10.4 à partir de la communauté MariaDB, vous devez installer les packages MariaDB-devel et MariaDB-shared pour Rails.dnf install -y mariadb-server mariadb mariadb-devel
systemctl start mariadb
systemctl enable mariadb
Exécutez la commande mysql_secure_installation pour sécuriser votre installation MariaDB.
Installez l'extension mysql2.
gem install mysql2
Créer une application Rails
Créez une nouvelle application dans votre répertoire personnel.
cd ~
rails new itzgeekapp -d mysql
cd itzgeekapp
Modifiez le fichier config/database.yml de configuration de la base de données de votre application.
vi config/database.yml
Mettez à jour le nom d'utilisateur et le mot de passe de la base de données.
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
Créez la base de données.
rake db:create
Output: Created database 'itzgeekapp_development' Created database 'itzgeekapp_test'
Valider la candidature
Accédez au répertoire de l'application.
cd itzgeekapp
Démarrez votre application Rails.
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
Si tout fonctionne correctement, votre application Rails devrait fonctionner sur le port 3000.
Visitez votre application Rails en saisissant l'URL ci-dessous dans votre navigateur Web.
http://localhost:3000OU
http://votre.adresse.ip.ress:3000Vous devriez obtenir la page suivante.

Conclusion
C'est tout. Vous avez installé avec succès Ruby on Rails sur CentOS 8 / RHEL 8. Veuillez partager vos commentaires dans la section des commentaires.