Wie man Ruby on Rails mit PostgreSQL auf AlmaLinux 9 installiert

Ruby on Rails oder RoR oder Rails ist ein freies und quelloffenes Webanwendungs-Framework, das in Ruby mit der MIT-Lizenz geschrieben wurde. Es ist ein Full-Stack-Webframework, das das Model-View-Controller (MVC)-Muster verwendet.

Das Rails-Webframework bietet Strukturen für eine Datenbank, einen Webservice und Webseiten. Außerdem enthält Rails einige wichtige Tools wie Scaffolding, Puma, Gems, etc.

In dieser Anleitung lernst du, wie du Ruby on Rails mit der PostgreSQL-Datenbank auf einem AlmaLinux 9 Rechner installierst. Am Ende dieser Anleitung wirst du eine Entwicklungsumgebung für dein Rails-Projekt eingerichtet haben.

Voraussetzungen

Um diesen Leitfaden durchzuarbeiten, musst du folgende Voraussetzungen erfüllen:

  • Einen AlmaLinux 9 Rechner – In diesem Beispiel wird AlmaLinux 9 mit dem Hostnamen almalinux9 und der IP-Adresse 192.168.10.15 verwendet.
  • Einen Nicht-Root-Benutzer mit root/sudo-Rechten.

Installation von PostgreSQL

Zuerst installierst du den PostgreSQL-Server, der als Datenbank für dein Rails-Projekt verwendet wird. Du kannst ihn über das AppStream Repository installieren, aber für diese Anleitung wirst du ihn offiziell aus dem PostgreSQL Repository installieren.

Führe den folgenden Befehl aus, um das PostgreSQL-Repository herunterzuladen und zu deinem System hinzuzufügen.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

add postgresql repo

Installiere nun den PostgreSQL-Server mit dem folgenden Befehl. Damit installierst du auch die libpq5-devel, die PostgreSQL-Bibliothek, die für deine Rails-Anwendung verwendet wird.

sudo dnf install -y postgresql15-server postgresql15-contrib libpq5-devel

postgresql installieren

Danach führst du den folgenden Befehl aus, um die Konfiguration des PostgreSQL-Servers zu initialisieren.

sudo postgresql-15-setup initdb

Starte und aktiviere dann den PostgreSQL-Dienst mit dem folgenden systemctl-Befehl.

sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

initialize postgresql

Zum Schluss überprüfst du den PostgreSQL-Dienst mit dem folgenden Befehl. Wenn er läuft, solltest du eine Meldung wie„active (exited)“ oder„active (running)“ erhalten.

sudo systemctl status postgresql-15

Postgresql-Dienst überprüfen

Ruby installieren

Das AlmaLinux Appstream Repository stellt standardmäßig Ruby 3.x bereit, das für Ruby on Rails geeignet ist. In diesem Abschnitt wirst du Ruby 3.0 über den DNF-Paketmanager installieren.

Führe den folgenden Befehl aus, um die Liste der verfügbaren Ruby-Versionen im appstream Repository zu überprüfen.

sudo dnf module list ruby

Die folgende Ausgabe bestätigt, dass das AlmaLinux-Repository auch Ruby 3.1 bereitstellt.

Module auflisten ruby

Führe nun den folgenden Befehl aus, um Ruby und die Ruby-Entwicklungspakete zu installieren. Gib zur Bestätigung y ein und drücke ENTER, um fortzufahren.

sudo dnf install ruby ruby-devel

Ruby installieren

Sobald Ruby installiert ist, überprüfe es mit folgendem Befehl. Du solltest sehen, dass Ruby v3.0 auf deinem AlmaLinux System installiert ist.

ruby --version

Ruby-Version prüfen

Installation von Node.js und Yarn Package Manager

Bevor du Rails installierst, musst du den Node.js- und Yarn-Paketmanager installieren. Beide Pakete werden von Rails zum Kompilieren der statischen Dateien deines Rails-Projekts verwendet.

Führe den folgenden dnf-Befehl aus, um die Pakete Node.js und NPM zu installieren. Wenn du dazu aufgefordert wirst, gib y ein und drücke ENTER, um fortzufahren.

sudo dnf install nodejs npm -y

installiere node.js und npm

Als nächstes führst du den Befehl npm aus, um den Yarn-Paketmanager zu installieren.

sudo npm install -g yarn

Der Yarn-Paketmanager sollte im Verzeichnis /usr/local/bin verfügbar sein. Daher musst du das Verzeichnis /usr/local/bin zur Umgebungsvariablen PATH hinzufügen.

Führe den folgenden Befehl aus, um das Verzeichnis /usr/local/bin über die Datei.bashrc zur Umgebungsvariablen PATH hinzuzufügen und lade sie erneut, um die Änderungen zu übernehmen.

echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
source ~/.bashrc

Führe nun den folgenden Befehl aus, um sowohl Node.js als auch den Yarn-Paketmanager zu finden. Die Node.js-Binärdatei befindet sich unter /bin/node und der Yarn-Paketmanager unter /usr/local/bin/yarn.

which node
which yarn

Führe abschließend den folgenden Befehl aus, um die Version von Node.js und des Yarn-Paketmanagers zu überprüfen.

node --version
yarn --version

node.js und yarn überprüfen

Installation der Entwicklungswerkzeuge

In diesem Schritt installierst du die„Development Tools„, die für Rails benötigt werden.

Führe den folgenden Befehl aus, um die„Development Tools“ auf deinem AlmaLinux-System zu installieren.

sudo dnf group install "Development Tools" -y

Sobald die Installation abgeschlossen ist, kannst du mit dem nächsten Schritt zur Installation von Rails fortfahren.

Installation von Ruby on Rails über den Gem Package Manager

Wenn alle Abhängigkeiten installiert sind, kannst du Ruby on Rails auf dem AlmaLinux Rechner installieren.

Führe den folgenden gem-Befehl aus, um Ruby on Rails auf deinem System zu installieren.

sudo gem install rails

Schienen montieren

Nachdem die Installation abgeschlossen ist, führe den folgenden Befehl aus, um die Rails-Binärdatei zu finden und die Rails-Version zu überprüfen.

which rails
rails --version

In der folgenden Ausgabe solltest du sehen, dass sich die ausführbare Rails-Datei unter /usr/local/bin/rails befindet und die aktuelle Rails-Version 7.0 installiert ist.

Schienenversion prüfen

PostgreSQL-Rolle für Rails-Projekt erstellen

In diesem Abschnitt erstellst du eine neue PostgreSQL-Rolle, die für das Rails-Projekt verwendet werden soll. Diese neue Rolle muss die Berechtigung haben, neue Datenbanken auf PostgreSQL zu erstellen.

Melde dich mit folgendem Befehl bei PostgreSQL an. Sobald du eingeloggt bist, solltest du die Eingabeaufforderung postgres=> erhalten , die bestätigt, dass du mit der Standarddatenbank„postgres“ verbunden bist.

sudo -u postgres psql

Führe nun die folgende Abfrage aus, um eine neue PostgreSQL-Rolle zu erstellen, die für Rails verwendet werden soll. In diesem Beispiel erstellst du eine neue Rolle namens hellorails mit dem Passwort userpassword. Diese Rolle ist berechtigt, neue Datenbanken auf PostgreSQL zu erstellen.

CREATE ROLE hellorails WITH CREATEDB LOGIN PASSWORD 'userpassword';

Als nächstes führst du die folgende Abfrage aus, um die Liste der verfügbaren Benutzer auf PostgreSQL zu überprüfen

\du

Wenn die Abfrage erfolgreich war, solltest du die neue Rolle hellorails mit dem Berechtigungsattribut DB erstellen sehen.

Postgresql-Rolle erstellen

Drücke Strg+d oder gib \q ein, um PostgreSQL zu verlassen.

Das erste Rails-Projekt erstellen

In diesem Abschnitt lernst du, wie du das erste Ruby on Rails-Projekt mit dem Befehl rails erstellst.

Erstelle ein neues Projektverzeichnis /var/www und verschiebe das aktuelle Arbeitsverzeichnis dorthin.

mkdir -p /var/www; cd /var/www

Erstelle nun mit dem folgenden rails-Befehl ein neues Rails-Projekt namens hellorails mit der Datenbank PostgreSQL. Dadurch wird auch ein neues Projektverzeichnis hellorails erstellt.

rails new hellorails --database=postgresql

Schienenprojekt erstellen

Wechsle in das hellorails-Verzeichnis und öffne die Datenbankkonfiguration config/database.yml mit nano oder deinem bevorzugten Editor.

cd hellorails
nano config/database.yml

Ändere die Standard-Datenbankkonfiguration für Entwicklung, Test und Produktion wie folgt und achte darauf, den richtigen Benutzer und das richtige Passwort für deine PostgreSQL-Daten zu verwenden.

development:
  <<: *default
  database: hellorails_development
  username: hellorails
  password: userpassword
  host: localhost
  port: 5432
test:
<<: *default
database: hellorails_test
user: hellorails
password: userpassword
host: localhost
port: 5432

production:
<<: *default
database: hellorails_production
username: hellorails
password: userpassword
host: localhost
port: 5432

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um die Datenbank zu migrieren. Dadurch wird eine neue Datenbank für dein Rails-Projekt erstellt.

rails db:setup
rails db:migrate

Datenbank migrieren

Nachdem die Datenbank migriert wurde, führe den folgenden Befehl aus, um dein Rails-Projekt zu starten, und stelle sicher, dass du die IP-Adresse des Servers änderst. Dadurch wird dein Rails-Projekt auf der spezifischen IP-Adresse 192.168.10.15 mit dem Standardport 3000 gestartet.

rails server --binding=192.168.10.15

Rails Run Server

Starte deinen Webbrowser und rufe die IP-Adresse des Servers gefolgt von Port 3000 auf (z.B.: http://192.168.10.15:3000/). Wenn die Rails-Installation erfolgreich war, solltest du die Standardseite index.html deines Rails-Projekts erhalten.

Schienen index.html

Fazit

Herzlichen Glückwunsch! Du hast nun Ruby on Rails mit PostgreSQL auf einem AlmaLinux 9 Rechner installiert. Außerdem hast du gelernt, wie du eine PostgreSQL-Rolle einrichtest und das erste Rails-Projekt erstellst.

Wenn du Rails auf deinem System installiert hast, kannst du mit der Entwicklung einer Anwendung mit Rails fortfahren. Für das Starterpaket könnte dich Ruby Scaffolding interessieren, um MVC (Model View Controller) in Rails kennenzulernen.

Das könnte dich auch interessieren …