GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et utiliser Ruby on Rails avec PostgreSQL sur CentOS 7

Ruby on Rails (RoR), ou court "rails", est un framework d'application Web côté serveur écrit en ruby ​​qui suit le concept MVC (Model-View-Controller). RoR est publié sous la licence OpenSource MIT. Rails fournit des structures par défaut pour les bases de données, les services Web et les pages Web. Rails est largement utilisé, plus de 3000 personnes ont contribué au code du projet Rails jusqu'à présent et il existe de nombreuses applications basées sur Rails, telles que Github, Airbnb, Soundcloud, etc.

Dans ce didacticiel, je vais vous montrer comment installer Rails sur CentOS 7. Nous allons installer et configurer Ruby on Rails avec une base de données PostgreSQL, puis créer notre premier projet avec Rails.

Prérequis

  • Serveur avec système d'exploitation CentOS 7
  • Privilèges root

Étape 1 - Installer RVM

RVM ou Ruby Version Manager est un outil de ligne de commande basé sur Bash et Ruby pour gérer une installation Ruby. RVM vous permet d'installer et de configurer simultanément plusieurs versions de ruby ​​sur le même serveur pour vous permettre de travailler avec plusieurs environnements ruby.

Assurez-vous que la commande curl est installée sur votre système.

yum installer curl

Dans cette étape, nous allons installer la version stable de RVM. Nous devons télécharger la clé du référentiel et l'importer avec la commande gpg avant de commencer à installer RVM.

curl -sSL https://rvm.io/mpapis.asc | gpg --import-

Installez ensuite RVM.

curl -sSL https://get.rvm.io | bash -s stable --ruby

La commande installera d'abord les packages requis (dépendances des packages), puis téléchargera la dernière version stable de RVM et l'installera.

Nous pouvons maintenant commencer à utiliser RVM en exécutant 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. Nous allons l'installer avec la commande "rvm", puis en faire la version ruby ​​par défaut de votre système.

Mettez à jour RVM vers la dernière version stable, puis installez Ruby 2.3.1.

rvm get stable --autolibs=enable
rvm install ruby-2.3.1

Ensuite, faites de Ruby 2.3.1 la version Ruby par défaut du système.

rvm --default utilise ruby-2.3.1

Vérifiez la version de Ruby avec la commande ci-dessous pour vous assurer que les étapes ci-dessus ont réussi :

ruby -v

Étape 3 - Installer Nodejs

Rails a besoin d'un environnement d'exécution 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://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum -y install nodejs

Vérifiez que node et npm ont été installés avec succès sur le système.

noeud -v
npm -v

Étape 4 - Configurer Gem

RubyGems est le gestionnaire de packages Ruby. Il fournit l'outil de ligne de commande gem et est automatiquement installé lorsque vous installez Ruby sur un système.

Mettez à jour la version de la gemme et vérifiez-la :

mise à jour gem --system
gem -v

Ceci est facultatif :vous pouvez désactiver l'installation de la documentation sur chaque installation de gem en ajoutant la ligne ci-dessous au fichier .gemrc. Je vais le faire ici car cela économise de l'espace disque et je préfère lire la documentation sur internet.

echo "gem :--no-document">> ~/.gemrc

Étape 5 - Installer Ruby on Rails 5 (Stable)

Installez Ruby on Rails 5 avec la commande gem ci-dessous :

rails d'installation de gemme -v 5.0.0

Lorsque l'installation s'est terminée avec succès, vérifiez la version des rails :

rails -v

Vous devriez voir ceci comme résultat :

Rail 5.0.0

Rails 5.0 installé sur CentOS 7 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. J'utiliserai PostgreSQL comme base de données pour ce guide.

Installez PostgreSQL avec cette commande yum :

yum -y install postgresql-server postgresql-devel postgresql-contrib

Nous devons maintenant initialiser le serveur de base de données avec la commande initdb.

postgresql-setup initdb

Par défaut, PostgreSQL sur le serveur CentOS n'autorise pas l'authentification par mot de passe. Nous devons modifier la configuration de PostgreSQL pour l'installation de RoR afin d'autoriser les connexions avec un mot de passe.

Modifiez pg_hba.conf avec vim :

vim /var/lib/pgsql/data/pg_hba.conf

Changez la méthode d'authentification en md5.

# connexions locales IPv4 :
hôte    toutes             toutes              127.0.0.1/32            md5
# connexions locales IPv6 :
hôte    toutes             toutes                                                         ;;

Enregistrez le fichier, puis démarrez le service "postgresql".

systemctl démarrer postgresql

Postgresql s'exécute sur l'adresse IP localhost avec le port 5432, vous pouvez vérifier cela avec la commande ci-dessous :

netstat -plntu
statut systemctl postgresql

Lorsque l'installation est terminée, devenez l'utilisateur postgres sur le shell avec su puis accédez au shell postgresql (psql).

su - postgres
psql

Définissez un nouveau mot de passe pour l'utilisateur postgres avec la commande ci-dessous :

\password postgres
Entrez le nouveau mot de passe :

Ensuite, créez un nouveau rôle nommé 'rails-dev' pour le développement des rails avec cette commande :

créer le rôle rails_dev avec le mot de passe de connexion createdb 'aqwe123' ;

Vérifiez le nouveau rôle, vous verrez qu'un nouveau rôle est créé :

\du

La base de données PostgreSQL et l'utilisateur pour le développement Rails ont été créés.

Étape 7 - Créer la première application avec Rails et PostgreSQL

Nous pouvons facilement créer notre première application avec la commande rails.

Créez une nouvelle application 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 incluant la gemme "pg" requise par rails pour se connecter à la base de données PostgreSQL.

Allez dans le répertoire 'newapp' et éditez le fichier database.yml dans le répertoire config.

cd monapp/
vim config/database.yml

Dans la section développement, décommentez la ligne 32 et définissez le rôle que nous avons créé à l'étape 6.

nom d'utilisateur :rails_dev

Définissez le mot de passe utilisateur rails_dev à la ligne 35.

mot de passe :aqwe123

Décommentez les lignes 40 et 44 pour la configuration de l'hôte de la base de données.

hôte :localhost
port :5432

Maintenant, allez dans la section test et ajoutez la nouvelle configuration ci-dessous :

  base de données :myapp_test
  hôte :localhost
  port :5432
  nom d'utilisateur :rails_dev
  mot de passe :aqwe123

Enregistrez le fichier et quittez l'éditeur.

Ensuite, générez la base de données avec la commande rails :

rails db:setup
rails db:migrate

Démarrez ensuite le serveur rails avec la commande ci-dessous :

rails s -b 192.168.33.10 -p 8080

Ouvrez votre navigateur Web et visitez l'adresse IP du serveur sur le port 8080 - 192.168.33.10:8080.

Retour à votre terminal. 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.33.10 -p 8080

Visitez le serveur :192.168.33.10:8080/posts

Vous verrez une interface CRUD simple écrite en Ruby on Rails avec PostgreSQL.

  • https://www.ruby-lang.org/fr/
  • http://guides.rubyonrails.org/
  • https://www.postgresql.org/docs/

Cent OS
  1. Comment installer et utiliser PHP Composer sur CentOS 7

  2. Comment installer Ruby on Rails sur CentOS 8

  3. Comment installer Ruby on Rails sur CentOS / RHEL8

  4. Comment installer Ruby 1.9.3 et Rubygems 1.8.24 sur CentOS 6.2

  5. Installer Ruby on Rails avec Apache et Passenger sur CentOS 6

Comment utiliser PostgreSQL avec l'application Ruby On Rails

Comment installer et utiliser TermRecord sur CentOS 8

Comment installer Ruby on Rails sur CentOS 7

Comment installer et utiliser Traceroute sur CentOS 7

Comment installer Ruby on Rails sur CentOS 8

Comment installer PostgreSQL et pgAdmin dans CentOS 8