So installierst du Ruby on Rails mit PostgreSQL auf Rocky Linux 8.4
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.
Voraussetzungen
In diesem Lernprogramm lernst du, wie du Ruby on Rails mit der PostgreSQL-Datenbank auf dem Rocky Linux-System installierst.
Bevor du mit dieser Anleitung beginnst, solltest du sicherstellen, dass du die folgenden Voraussetzungen erfüllst:
Für dieses Beispiel verwenden wir den folgenden Rechner:
- Betriebssystem: Rocky Linux 8.4 (Green Obisidian)
- IP-Adresse: 192.168.1.10
Bevor du mit dieser Anleitung beginnst, führe die folgende PostgreSQL-Installation auf deinem System durch.
So installierst du PostgreSQL auf Rocky Linux
Wenn du bereit bist, fangen wir mit der Rails-Installation an.
Installiere RVM (Ruby Version Manager)
Der Ruby Version Manager oder RVM ist ein Kommandozeilen-Tool zur Verwaltung von Ruby auf dem Linux-System. Mit RVM kannst du mehrere Ruby-Versionen auf einem einzigen Betriebssystem installieren.
Zunächst installierst du den RVM auf dem Rocky-Linux-System und installierst damit eine bestimmte Version von Ruby.
1. Importiere die GPG-Schlüssel der RVM-Entwickler mit dem folgenden Befehl auf dein System.
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
2. Installiere RVM mit dem folgenden Befehl.
curl -L get.rvm.io | bash -s stable
Nachdem die RVM-Installation abgeschlossen ist, lade das RVM-Profil in deine Shell.
source /etc/profile.d/rvm.sh
3. Als nächstes lädst du RVM neu und installierst alle Pakete, die für RVM depencneis sind, indem du den folgenden Befehl ausführst.
rvm reload rvm requirements run
Wenn die Installation aller Pakete abgeschlossen ist, kannst du Ruby mit dem Befehl„rvm“ installieren.
4. Führe den Befehl „rvm“ aus, um die verfügbare Version von Ruby im RVM-Repository zu überprüfen.
rvm list known
Installation von Ruby mit RVM
Die aktuelle Version von Rails erfordert Ruby 2.5 oder höher. In diesem Schritt installierst du Ruby 3.0 mit dem RVM-Tool.
1. Führe den unten stehenden Befehl„rvm“ aus, um die neueste Version von Ruby zu installieren.
rvm install ruby
Die Installation wird einige Zeit in Anspruch nehmen, je nach Verbindung und System.
2. Nachdem die Installation von Ruby abgeschlossen ist, überprüfe sie mit dem folgenden Befehl.
Überprüfe die Installation von Ruby auf dem lokalen Rechner mit dem Befehl „rvm“.
rvm list
Überprüfe die Version von Ruby mit dem folgenden Befehl.
ruby --version
Du wirst die folgende Ausgabe sehen: „ruby 3.0.0„.
Installation von Node.js und Yarn auf Rocky Linux
Das Rails-Webframework verwendet HTML, CSS und JavaScript für die Benutzeroberfläche. Für die Verwaltung von JavaScript-Anwendungen benötigt Rails die Pakete Node.js und Yarn.
In diesem Schritt installierst du Node.js aus dem offiziellen Rocky Linux Repository und Yarn mit dem Node Package Manager (NPM).
1. Bevor du das Node.js-Paket installierst, führe den folgenden Befehl aus, um das Node.js v14-Repository zu aktivieren.
sudo dnf module enable nodejs:14
Gib „y“ ein und bestätige mit„Enter„.
2. Installiere nun Node.js und npm mit dem unten stehenden DNF-Befehl.
sudo dnf install nodejs npm -y
3. Nachdem die Installation abgeschlossen ist, führe den unten stehenden npm-Befehl aus, um Yarn global und systemweit zu installieren.
npm install -g yarn
4. Überprüfe Node.js und Yarn mit dem folgenden Befehl.
node --version yarn --version
Unten siehst du die ähnliche Ausgabe, die du erhalten wirst.
# current nodejs version v14.17.5
# current yarn version
1.22.17
Jetzt kannst du Ruby on Rails auf dem Rocky Linux System installieren.
Installation von Ruby on Rails (RoR) auf Rocky Linux
Um Ruby on Rails zu installieren, kannst du den Kommandozeilenbefehl „gem“ verwenden. Der Befehl gem ist Teil des Ruby-Pakets, das im Verzeichnis„/usr/local/bin“ zu finden ist.
1. Bevor du den gem-Befehl verwendest, füge das Verzeichnis „/usr/local/bin“ zur Umgebungsvariablen„$PATH“ in der Konfiguration „~/.bashrc“ hinzu.
echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
Führe nun den folgenden Befehl aus, um die aktuelle Bash-Umgebung neu zu laden.
source ~/.bashrc
Und schon kannst du den Befehl„gem“ ausführen.
2. Führe den unten stehenden gem-Befehl aus, um Ruby on Rails zu installieren.
gem install rails
Der gem-Befehl oben wird einige RubyGems-Pakete und die Node.js-Bibliothek für Rails installieren.
3. Nachdem die Rails-Installation abgeschlossen ist, überprüfe sie mit dem folgenden Befehl.
rails --version
Du wirst eine ähnliche Ausgabe wie unten sehen. In diesem Beispiel ist die aktuelle Version von Rails„6.1.x„.
Rails 6.1.4.1
PostgreSQL-Benutzer einrichten
Stelle sicher, dass du die Installation des PostgreSQL-Servers auf dem Rocky Linux System abgeschlossen hast.
Jetzt installierst du einige zusätzliche Pakete für das Rails-Projekt und erstellst einen neuen PostgreSQL-Benutzer.
1. Führe den folgenden DNF-Befehl aus, um zusätzliche PostgreSQL-Abhängigkeiten zu installieren.
sudo dnf install postgresql-devel libpq-devel -y
2. Melde dich in der PostgreSQL-Shell an, indem du den Befehl psql ausführst.
sudo -u postgres psql
3. Erstelle mit der folgenden Abfrage einen neuen Benutzer„appuser“ mit dem Privileg„CREATEDB“ und dem Passwort„userpassword„.
CREATE ROLE appuser WITH CREATEDB LOGIN PASSWORD 'userpassword';
4. Überprüfe die verfügbaren PostgreSQL-Benutzer mit der folgenden Abfrage.
\du
Du siehst den Benutzer „appuser“ im Abschnitt „Rollenname“ wie unten dargestellt.
Gib„\q“ ein und drücke „Enter“, um die PostgreSQL-Shell zu verlassen.
Jetzt kannst du ein neues Rails-Projekt mit einer PostgreSQL-Datenbank erstellen.
Neues Rails-Projekt mit PostgreSQL-Datenbank erstellen
In diesem Schritt wirst du ein neues Rails-Projekt mit einer PostgreSQL-Datenbank erstellen.
1. Erstelle ein neues Verzeichnis „/var/www“ und wechsle dann in dein Arbeitsverzeichnis.
mkdir -p /var/www; cd /var/www
2. Erstelle mit dem folgenden Rails-Befehl ein neues Rails-Projekt„appname“ mit der Standarddatenbank PostgreSQL.
rails new appname --database=postgresql
Der Befehl erstellt ein neues Verzeichnis„appname„.
3. Wechsle dein Arbeitsverzeichnis in das Verzeichnis „appname“ und bearbeite die Datenbankkonfiguration „config/database.yml“.
cd appname nano config/database.yml
Ändere den Benutzernamen und das Passwort der Datenbank in den Abschnitten„development„,„test“ und„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
Speichere die Konfiguration und beende sie.
4. Als Nächstes führst du den folgenden Rails-Befehl aus, um die PostgreSQL-Datenbank für dein Projekt zu migrieren.
rails db:setup rails db:migrate
5. Führe nun den folgenden Befehl aus, um dein Rails-Projekt zu starten. Achte darauf, dass du die IP-Adresse mit der IP-Adresse deines Servers vergleichst.
rails server --binding=192.168.1.10
Das Rails-Projekt wird in der Umgebung„Development“ mit Port„3000“ ausgeführt.
6. Öffne deinen Webbrowser und gib die IP-Adresse des Servers mit Port„3000“ in die Adresszeile ein.
http://192.168.1.10:3000/
Jetzt siehst du die Standard-Indexseite von Ruby on Rails wie unten abgebildet.
Du hast erfolgreich ein Rails-Projekt mit einer PostgreSQL-Datenbank erstellt.
Fazit
Herzlichen Glückwunsch! Du hast die grundlegende Installation von Ruby on Rails mit der PostgreSQL-Datenbank auf dem Rocky Linux-System gelernt. Außerdem hast du die grundlegende Installation und Verwendung des Ruby Version Managers (RVM) zur Verwaltung von Ruby gelernt.
Im nächsten Schritt möchtest du vielleicht dein Rails-Projekt mit Passenger und Nginx oder Apache Webserver einsetzen.