Ruby on Rails ou RoR ou Rails est un framework d'application Web gratuit et open-source écrit en Ruby avec la licence MIT. Il s'agit d'un framework Web complet qui utilise le modèle modèle-vue-contrôleur (MVC).
Le framework Web Rails fournit des structures pour une base de données, un service Web et des pages Web. De plus, Rails comprend des outils importants tels que des échafaudages, Puma, Gems, etc.
Prérequis
Dans ce didacticiel, vous apprendrez à installer Ruby on Rails avec la base de données PostgreSQL sur le système Rocky Linux.
Avant de commencer ce guide, assurez-vous d'avoir rempli les conditions suivantes :
Pour cet exemple, nous utilisons la machine suivante :
- Système d'exploitation :Rocky Linux 8.4 (Green Obisidian)
- Adresse IP :192.168.1.10
Avant de commencer ce guide, effectuez l'installation PostgreSQL suivante sur votre système.
Comment installer PostgreSQL sur Rocky Linux
Si vous êtes prêt, commençons l'installation de Rails.
Installer RVM (Ruby Version Manager)
Ruby Version Manager ou RVM est un outil de ligne de commande pour gérer Ruby sur le système Linux. L'utilisation de RVM vous permet d'installer plusieurs versions de Ruby sur un seul système d'exploitation.
Tout d'abord, vous installerez le RVM sur le système Rocky Linux, la version spécifique d'installation de Ruby avec.
1. Importez les clés GPG des développeurs RVM sur votre système à l'aide de la commande suivante.
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
2. Installez RVM à l'aide de la commande suivante.
curl -L get.rvm.io | bash -s stable
Une fois l'installation de RVM terminée, chargez le profil RVM sur votre shell.
source /etc/profile.d/rvm.sh
3. Ensuite, rechargez le RVM et installez tous les packages qui dépendent de RVM en exécutant la commande ci-dessous.
rvm reload
rvm requirements run
Vous êtes prêt à installer Ruby avec le 'rvm ' lorsque l'installation de toutes les dépendances de packages est terminée.
4. Exécutez la commande "rvm" ci-dessous pour vérifier la version disponible de Ruby sur le référentiel RVM.
rvm list known
Installer Ruby avec RVM
La version actuelle de Rails nécessite Ruby 2.5 ou une version ultérieure. Dans cette étape, vous allez installer Ruby 3.0 à l'aide de l'outil RVM.
1. Exécutez le 'rvm ' ci-dessous pour installer la dernière version de Ruby.
rvm install ruby
L'installation prendra un certain temps, en fonction de votre connexion et de votre système.
2. Une fois l'installation de Ruby terminée, vérifiez à l'aide de la commande suivante.
Vérifiez le Ruby installé sur la machine locale à l'aide de la commande 'rvm'.
rvm list
Vérifiez la version de Ruby à l'aide de la commande suivante.
ruby --version
Vous verrez la sortie 'ruby 3.0.0 ' comme ci-dessous.
Installer Node.js et Yarn sur Rocky Linux
Le framework Web Rails utilise HTML, CSS et JavaScript pour l'interface utilisateur. Les Rails nécessitent Node.js et des packages de fils pour gérer les applications JavaScript.
Dans cette étape, vous allez installer Node.js à partir du référentiel officiel Rocky Linux et installer Yarn à l'aide du gestionnaire de packages de nœuds (NPM).
1. Avant d'installer le package Node.js, exécutez la commande suivante pour activer le référentiel Node.js v14.
sudo dnf module enable nodejs:14
Tapez 'y' et appuyez sur 'Entrée ' pour confirmer.
2. Installez maintenant Node.js et npm à l'aide de la commande DNF ci-dessous.
sudo dnf install nodejs npm -y
3. Une fois l'installation terminée, exécutez la commande npm ci-dessous pour installer Yarn globalement à l'échelle du système.
npm install -g yarn
4. Vérifiez Node.js et Yarn à l'aide de la commande suivante.
node --version
yarn --version
Vous trouverez ci-dessous le résultat similaire que vous obtiendrez.
# current nodejs version
v14.17.5
# current yarn version
1.22.17
Vous êtes maintenant prêt à installer Ruby on Rails sur le système Rocky Linux.
Installation de Ruby on Rails (RoR) sur Rocky Linux
Pour installer Ruby on Rails, vous pouvez utiliser la ligne de commande 'gem'. La commande Gem fait partie du package Ruby, disponible dans le répertoire '/usr/local/bin '.
1. Avant d'utiliser la commande gem, ajoutez le répertoire '/usr/local/bin ' au '$PATH ' variable d'environnement sur `~/.bashrc ` configuration.
echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
Exécutez maintenant la commande ci-dessous pour recharger l'environnement bash actuel.
source ~/.bashrc
Et vous êtes prêt à exécuter la commande 'gem '.
2. Exécutez la commande gem ci-dessous pour installer Ruby on Rails.
gem install rails
La commande gem en haut installera certains packages RubyGems et la bibliothèque Node.js pour les Rails.
3. Une fois l'installation de Rails terminée, vérifiez à l'aide de la commande suivante.
rails --version
Vous verrez une sortie similaire à celle ci-dessous. Dans cet exemple, la version actuelle de Rails est '6.1.x '.
Rails 6.1.4.1
Configurer l'utilisateur PostgreSQL
Assurez-vous d'avoir terminé l'installation du serveur PostgreSQL sur le système Rocky Linux.
Vous allez maintenant installer des dépendances de packages supplémentaires pour le projet Rails et créer un nouvel utilisateur PostgreSQL.
1. Exécutez la commande DNF ci-dessous pour installer des dépendances PostgreSQL supplémentaires.
sudo dnf install postgresql-devel libpq-devel -y
2. Ensuite, connectez-vous au shell PostgreSQL à l'aide de la commande psql ci-dessous.
sudo -u postgres psql
3. Créez un nouvel utilisateur 'appuser ' avec le privilège 'CREATEDB ' et le mot de passe 'userpassword ' en utilisant la requête suivante.
CREATE ROLE appuser WITH CREATEDB LOGIN PASSWORD 'userpassword';
4. Vérifiez les utilisateurs PostgreSQL disponibles à l'aide de la requête suivante.
\du
Vous verrez l'utilisateur "appuser" dans la section "Nom du rôle" comme ci-dessous.
Tapez '\q ' et appuyez sur 'Entrée' pour quitter le shell PostgreSQL.
Vous êtes maintenant prêt à créer un nouveau projet Rails avec une base de données PostgreSQL.
Créer un nouveau projet Rails avec la base de données PostgreSQL
Dans cette étape, vous allez créer un nouveau projet Rails avec la base de données PostgreSQL.
1. Créez un nouveau répertoire '/var/www ', puis modifiez-y votre répertoire de travail.
mkdir -p /var/www; cd /var/www
2. Créez un nouveau projet Rails 'appname ' avec la base de données PostgreSQL par défaut à l'aide de la commande rails ci-dessous.
rails new appname --database=postgresql
La commande créera un nouveau répertoire 'appname '.
3. Changez votre répertoire de travail en 'appname' et modifiez la configuration de la base de données 'config/database.yml'.
cd appname
nano config/database.yml
Changez le nom d'utilisateur et le mot de passe de la base de données dans la section 'développement ', 'tester ' et 'production '.
development:
<<: *default
database: appname_development
username: appuser
password: userpassword
host: localhost
port: 5432
test:
<<: *default
database: appname_test
user: appuser
password: userpassword
host: localhost
port: 5432
production:
<<: *default
database: appname_production
username: appuser
password: userpassword
host: localhost
port: 5432
Enregistrez la configuration et quittez.
4. Ensuite, exécutez la commande rails ci-dessous pour migrer la base de données PostgreSQL pour votre projet.
rails db:setup
rails db:migrate
5. Exécutez maintenant la commande suivante pour exécuter votre projet rails. Et assurez-vous de changer l'adresse IP avec l'adresse IP de votre serveur.
rails server --binding=192.168.1.10
Le projet Rails s'exécute dans l'environnement 'Développement ' avec le port '3000 '.
6. Ouvrez votre navigateur Web et saisissez l'adresse IP du serveur avec le port '3000 ' dans la barre d'adresse.
http://192.168.1.10:3000/
Vous verrez maintenant la page d'index par défaut de Ruby on Rails comme ci-dessous.
Vous avez créé avec succès un projet Rails avec une base de données PostgreSQL.
Conclusion
Félicitations ! Vous avez appris l'installation de base de Ruby on Rails avec la base de données PostgreSQL sur le système Rocky Linux. De plus, vous avez appris l'installation de base et l'utilisation de base de Ruby Version Manager (RVM) pour gérer Ruby.
Pour la prochaine étape, vous serez peut-être intéressé à déployer votre projet Rails avec Passenger et un serveur Web Nginx ou Apache.