Wie man Ruby on Rails mit PostgreSQL auf CentOS 7 installiert und verwendet

Ruby on Rails (RoR), oder kurz „rails“, ist ein in Rubin geschriebenes serverseitiges Web-Applikationsframework, das dem MVC-Konzept (Model-View-Controller) folgt. RoR ist unter der OpenSource MIT-Lizenz veröffentlicht und bietet Standardstrukturen für Datenbanken, Webservices und Webseiten. Rails ist weit verbreitet, mehr als 3000 Personen wurden bisher in das Rails-Projekt eingebunden und es gibt viele Anwendungen, die auf Rails basieren, wie Github, Airbnb, Soundcloud etc.

In diesem Tutorial zeige ich Ihnen, wie Sie Rails auf CentOS 7 installieren. Wir werden Ruby on Rails mit einer PostgreSQL-Datenbank installieren und konfigurieren und dann unser erstes Projekt mit Rails erstellen.

Voraussetzung

  • Server mit CentOS 7 Betriebssystem
  • Root-Rechte

Schritt 1 – RVM installieren

RVM oder Ruby Version Manager ist ein Kommandozeilenprogramm, das auf Bash und Ruby basiert, um eine Rubininstallation zu verwalten. RVM ermöglicht es Ihnen, mehrere Rubinversionen auf demselben Server gleichzeitig zu installieren und zu konfigurieren, damit Sie mit mehreren Rubinumgebungen arbeiten können.

Stellen Sie sicher, dass der Curl-Befehl auf Ihrem System installiert ist.

yum install curl

In diesem Schritt werden wir die stabile RVM-Version installieren. Wir müssen den Repository-Schlüssel herunterladen und mit dem gpg-Befehl importieren, bevor wir mit der Installation von RVM beginnen.

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

Dann installieren Sie RVM.

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

Der Befehl installiert zuerst die erforderlichen Pakete (Paketabhängigkeiten) und lädt dann die neueste stabile RVM-Version herunter und installiert sie.

Jetzt können wir mit der Verwendung von RVM beginnen, indem wir den folgenden Befehl ausführen:

source /usr/local/rvm/scripts/rvm

Installing RVM on CentOS 7

Schritt 2 – Installieren Sie Ruby

Die aktuelle stabile Version von Ruby ist 2.3.1. Wir installieren es mit dem Befehl „rvm“ und machen es dann zur Standard-Ruby-Version für Ihr System.

Aktualisieren Sie RVM auf die neueste stabile Version und installieren Sie dann Ruby 2.3.1.

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

Als nächstes machen Sie Ruby 2.3.1 zur Standard-Ruby-Version des Systems.

rvm --default use ruby-2.3.1

Überprüfen Sie die Rubin-Version mit dem folgenden Befehl, um sicherzustellen, dass die oben genannten Schritte erfolgreich waren:

ruby -v

Install Ruby with RVM

Schritt 3 – Nodejs installieren

Rails benötigt eine JavaScript-Laufzeit, um die Rails-Asset-Pipeline zu kompilieren. Für die Entwicklung von Rails unter Ubuntu Linux ist es am besten, Nodejs als Javascript-Laufzeit zu installieren.

Installieren Sie nodejs aus dem Repository der Knotenquellen:

curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum -y install nodejs

Überprüfen Sie, ob Knoten und npm erfolgreich auf dem System installiert wurden.

node -v
npm -v

Check NodeJS version

Schritt 4 – Edelstein konfigurieren

RubyGems ist der Ruby Package Manager. Es stellt das Gem-Kommandozeilen-Tool zur Verfügung und wird automatisch installiert, wenn Sie Ruby auf einem System installieren.

Aktualisieren Sie die Edelsteinversion und überprüfen Sie sie:

gem update --system
gem -v

Dies ist optional: Sie können die Installation der Dokumentation zu jeder Gem-Installation deaktivieren, indem Sie die folgende Zeile zur.gemrc-Datei hinzufügen. Ich werde es hier tun, da es Festplattenspeicher spart und ich es vorziehe, die Dokumentation im Internet zu lesen.

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

Schritt 5 – Installieren Sie Rubin auf Schienen 5 (stabil)

Installiere Ruby on Rails 5 mit dem Befehl gem unten:

gem install rails -v 5.0.0

Wenn die Installation erfolgreich abgeschlossen ist, überprüfen Sie die Schienenversion:

rails -v

Du solltest dies als Ergebnis sehen:

Rails 5.0.0

Check the Rails version

Rails 5.0 auf CentOS 7 mit Ruby 2.3.1 installiert.

Schritt 6 – Einstellen der PostgreSQL-Datenbank für die Schienenentwicklung

In diesem Schritt werden wir PostgreSQL für die Schienenentwicklung vorbereiten. Ruby on Rails unterstützt viele Datenbanken wie MySQL, SQLite (Standard) und PostgreSQL. Ich werde PostgreSQL als Datenbank für dieses Handbuch verwenden.

Installieren Sie PostgreSQL mit diesem yum-Befehl:

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

Nun müssen wir den Datenbankserver mit dem Befehl initdb initialisieren.

postgresql-setup initdb

Standardmäßig erlaubt PostgreSQL auf dem CentOS-Server keine passwortbasierte Authentifizierung. Wir müssen die PostgreSQL-Konfiguration für die RoR-Installation bearbeiten, um Anmeldungen mit einem Passwort zu ermöglichen.

Bearbeiten Sie pg_hba.conf mit vim:

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

Ändern Sie die Authentifizierungsmethode auf md5.

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Speichern Sie die Datei und starten Sie dann den Dienst „postgresql“.

systemctl start postgresql

Postgresql läuft auf localhost ip address mit Port 5432, das können Sie mit dem folgenden Befehl überprüfen:

netstat -plntu
systemctl status postgresql

PostgreSQL installation on CentOS

Wenn die Installation abgeschlossen ist, werden Sie zum postgres-Benutzer auf der Shell mit su und greifen dann auf die postgresql-Shell (psql) zu.

su - postgres
psql

Setzt ein neues Passwort für den postgres-Benutzer mit dem folgenden Befehl:

\password postgres
Enter new password:

Als nächstes erstellen Sie mit diesem Befehl eine neue Rolle namens’rails-dev‘ für die Schienenentwicklung:

create role rails_dev with createdb login password 'aqwe123';

Überprüfen Sie die neue Rolle, Sie werden sehen, dass eine neue Rolle erstellt wurde:

\du

PostgreSQL-Datenbank und Benutzer für die Rails-Entwicklung wurde erstellt.

Create a database for the RoR development

Schritt 7 – Erste Anwendung mit Rails und PostgreSQL erstellen

Wir können unsere erste Anwendung mit dem Befehl rails einfach erstellen.

Erstellen Sie eine neue Anwendung mit PostgreSQL als Standarddatenbank.

rails new myapp -d postgresql

Dieser Befehl erstellt ein neues Verzeichnis’myapp‘ und installiert einen neuen Edelstein einschließlich des „pg“-Edelsteins, der von rails für die Verbindung zur PostgreSQL-Datenbank benötigt wird.

Gehen Sie in das Verzeichnis’newapp‘ und bearbeiten Sie die Datenbank. yml-Datei im Konfigurationsverzeichnis.

cd myapp/
vim config/database.yml

Entkommentiere im Entwicklungsabschnitt Zeile 32 und setze die Rolle, die wir in Schritt 6 erstellt haben.

username: rails_dev

Setzen Sie das Benutzerpasswort rails_dev auf Zeile 35.

password: aqwe123

Entkommentieren Sie die Zeilen 40 und 44 für die Konfiguration des Datenbank-Hosts.

host: localhost
port: 5432

Gehen Sie nun in den Testabschnitt und fügen Sie die neue Konfiguration unten hinzu:

  database: myapp_test
  host: localhost
  port: 5432
  username: rails_dev
  password: aqwe123

Speichern Sie die Datei und verlassen Sie den Editor.

Als nächstes generieren Sie die Datenbank mit dem Befehl rails:

rails db:setup
rails db:migrate

Starten Sie dann den Rails-Server mit dem folgenden Befehl:

rails s -b 192.168.33.10 -p 8080

Create a Rails project on CentOS 7

Öffnen Sie Ihren Webbrowser und besuchen Sie die Server-IP-Adresse auf Port 8080 – 192.168.33.10:8080.

Ruby on Rails installed on CentOS

Zurück zu deinem Terminal. Erstellen Sie ein neues Gerüst für die Interaktion mit der PostgreSQL-Datenbank.

Geben Sie den folgenden Befehl ein:

rails g scaffold Post title:string body:text
rake db:migrate

Führen Sie den Railserver erneut aus.

rails s -b 192.168.33.10 -p 8080

Besuchen Sie den Server: 192.168.33.10:8080/posts

Sie werden eine einfache CRUD-Schnittstelle sehen, die in Ruby on Rails mit PostgreSQL geschrieben wurde.

Ruby on Rails Scaffolding

Links

Das könnte Dich auch interessieren …