Ruby on Rails (RoR) est un framework d'application Web open source, publié sous licence MIT. Ruby on Rails, ou rails est écrit en Ruby, c'est un framework d'application web côté serveur qui suit le concept MVC (Model-View-Controller). Rails fournit des structures par défaut pour la base de données, le service Web et les pages Web. Plus de 3 000 développeurs ont contribué au code du framework Rails et il existe de nombreuses applications bien connues basées sur Rails, telles que Github, Airbnb, Soundcloud, etc.
Dans ce tutoriel, je vais vous montrer comment installer Ruby on Rails sur Ubuntu 16.04 LTS. Je vais vous montrer comment installer et configurer Rails avec une base de données PostgreSQL, et comment créer un nouveau premier projet avec Rails.
Prérequis
- Serveur Ubuntu 16.04.
- Privilèges racine.
Étape 1 - Installer RVM
RVM ou Ruby Version Manager est un outil en ligne de commande basé sur Bash et Ruby pour gérer l'installation de ruby. RVM vous permet d'installer et de configurer plusieurs versions de Ruby sur un seul système.
Dans cette étape, nous allons installer la version stable de RVM et ajouter la clé du référentiel avec la commande gpg.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
Installez RVM stable. Assurez-vous que la commande curl est installée sur votre système.
curl -sSL https://get.rvm.io | bash -s stable --ruby
Cette commande installera les packages requis pour l'installation de RVM, puis téléchargera la dernière version stable de RVM et l'installera.
Nous pouvons maintenant commencer à utiliser RVM en exécutant d'abord la commande ci-dessous :
source /usr/local/rvm/scripts/rvm
Étape 2 - Installer Ruby
La version stable actuelle de Ruby est la 2.3.1. Installez-le avec la commande rvm, puis faites-en la version ruby par défaut de votre système.
Mettez à jour rvm vers la dernière version stable, puis installez la version Ruby 2.3.1.
rvm get stable --autolibs=enable
rvm install ruby-2.3.1
Ensuite, faites de 2.3.1 la version ruby par défaut sur le système.
rvm --default use ruby-2.3.1
Vérifiez maintenant la version ruby avec la commande ci-dessous :
ruby -v
Étape 3 - Installer Nodejs
Rails nécessite un runtime JavaScript pour compiler le pipeline d'actifs Rails. Pour le développement Rails sur Ubuntu Linux, il est préférable d'installer Nodejs en tant qu'environnement d'exécution Javascript.
Installez nodejs depuis le référentiel nodesource :
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt-get install -y nodejs
Étape 4 - Configurer Ruby Gem
RubyGems est un gestionnaire de packages Ruby. Il vient avec la gemme outil de ligne de commande et est automatiquement installé lorsque nous installons Ruby sur le système.
Mettez à jour la version de la gemme et vérifiez-la :
gem update --system
gem -v
Ceci est facultatif, vous pouvez désactiver l'installation de la documentation sur chaque installation de gem en ajoutant une nouvelle ligne au fichier .gemrc ci-dessous.
echo "gem: --no-document" >> ~/.gemrc
Étape 5 - Installer Ruby on Rails 5 Stable
Installez Ruby on Rails 5 avec la commande gem ci-dessous :
gem install rails -v 5.0.0
Lorsque l'installation s'est terminée avec succès, vérifiez la version des rails :
rails -v
Et vous verrez les résultats de la version rails :
Rails 5.0.0
Rails 5.0 a été installé sur Ubuntu 16.04 avec Ruby 2.3.1.
Étape 6 - Configuration de la base de données PostgreSQL pour le développement Rails
Dans cette étape, nous préparerons PostgreSQL pour le développement de rails. Ruby on Rails prend en charge de nombreuses bases de données telles que MySQL, SQLite (par défaut) et PostgreSQL. Nous utiliserons PostgreSQL comme base de données pour ce guide.
Installez PostgreSQL et quelques autres packages requis avec la commande apt :
apt-get -y install postgresql postgresql-contrib libpq-dev
Une fois l'installation terminée, connectez-vous à l'utilisateur postgres et accédez au shell postgresql.
su - postgres
psql
Attribuez un nouveau mot de passe à l'utilisateur postgres avec la commande ci-dessous :
\password postgres
Enter new password:
Ensuite, créez un nouveau rôle nommé 'rails-dev' pour le développement des rails avec la commande ci-dessous :
create role rails_dev with createdb login password 'aqwe123';
Définissez un nouveau mot de passe pour l'utilisateur et vérifiez que l'utilisateur a été créé.
Vérifiez maintenant le nouveau rôle et vous verrez qu'un nouveau rôle a été créé :
\du
La base de données PostgreSQL a été préparée pour le développement Rails.
Étape 7 - Créer la première application avec Rails et PostgreSQL
Ruby on Rails ou Rails est livré avec la commande "rails" et nous pouvons démarrer notre première application avec cette commande.
Créez une nouvelle application "myapp" avec PostgreSQL comme base de données par défaut.
rails new myapp -d postgresql
Cette commande créera un nouveau répertoire 'myapp' et installera une nouvelle gemme, y compris la gemme pg nécessaire aux rails pour se connecter à la base de données PostgreSQL dans ce répertoire.
Ensuite, allez dans le répertoire 'myapp' et modifiez le fichier database.yml dans le répertoire config.
cd myapp/
vim config/database.yml
Dans la section développement, décommentez la ligne 32 et tapez le rôle que nous avons créé à l'étape 6.
username: rails_dev
Définissez le mot de passe utilisateur rails_dev à la ligne 35.
password: aqwe123
Décommentez les lignes 40 et 44 pour la configuration de l'hôte de la base de données.
host: localhost
port: 5432
Allez maintenant dans la section test et ajoutez la nouvelle configuration ci-dessous :
database: myapp_test
host: localhost
port: 5432
username: rails_dev
password: aqwe123
Enregistrez et quittez.
Ensuite, générez la base de données avec la commande rails :
rails db:setup
rails db:migrate
Et ensuite démarrez le serveur rails avec la commande ci-dessous :
rails s -b 192.168.1.110 -p 8080
Ouvrez votre navigateur Web et visitez l'adresse IP du serveur sur le port 8080 - 192.168.1.110:8080.
Revenez au terminal et créez un nouvel échafaudage pour interagir avec la base de données PostgreSQL.
Tapez la commande ci-dessous :
rails g scaffold Post title:string body:text
rake db:migrate
Exécutez à nouveau le serveur rails.
rails s -b 192.168.1.110 -p 8080
Visitez le serveur :192.168.1.110:8080/posts
Vous verrez un CRUD simple sur Ruby on Rails avec PostgreSQL.