Wie man Ruby on Rails unter Ubuntu 22.04 installiert

Ruby on Rails oder RoR ist ein freies und quelloffenes Framework für Webanwendungen, das in Ruby geschrieben und unter der MIT-Lizenz veröffentlicht wurde. Rails ist ein Full-Stack-Webframework, mit dem du ganz einfach unternehmenstaugliche Anwendungen erstellen kannst. Rails wird mit verschiedenen Tools ausgeliefert, die es Entwicklern ermöglichen, sowohl Frontend- als auch Backend-Anwendungen einfach zu erstellen. Ruby on Rails verfügt außerdem über eingebaute Sicherheitsfunktionen wie den Schutz vor gängigen Angriffen wie SQL-Injection, XSS und CSRF.

Ruby on Rails bietet eine Standardstruktur für die Datenbank, das Rendern von HTML-Vorlagen, einen Webservice und eine Webseite. Es folgt der Model-View-Controller (MVC)-Architektur und verwendet außerdem bekannte Designphilosophien wie Don’t Repeat Yourself (DRY), Convention over Configuration (CoC) und Active Records Pattern. Ruby on Rails wurde so konzipiert, dass es schnell und einfach zu bedienen und zu lernen ist. Einige bekannte Websites wie Twitch, Airbnb, Github, Soundcloud usw. wurden mit Rails entwickelt.

In diesem Lernprogramm zeigen wir dir, wie du Ruby on Rails auf einem Ubuntu 22.04 Server installierst. Außerdem lernst du, wie du ein neues Projekt/eine neue Anwendung mit Ruby on Rails startest und wie du PostgreSQL als Datenbank für deine Rails-Anwendung nutzt.

Voraussetzung

  • Ein Ubuntu 22.04 Rechner
  • Ein Nicht-Root-Benutzer mit Root-Rechten
  • Ein PostgreSQL-Server ist auf deinem Ubuntu-Rechner installiert. In diesem Beispiel wirst du PostgreSQL als Hauptdatenbank für Ruby on Rails verwenden.

Installieren der Pakete Abhängigkeiten

Bevor du mit der Installation von Rails beginnst, musst du einige grundlegende Paketabhängigkeiten für die Rails-Entwicklung installieren, dazu gehören yarn und nodejs.

Beginnen wir damit, die Basispakete gnupg2, apt-transport-https und curl mit dem folgenden Befehl auf deinem Ubuntu-Rechner zu installieren.

sudo apt install gnupg2 apt-transport-https curl

Als Nächstes führst du den folgenden Befehl aus, um das Nodesource-Repository für die Installation des Nodejs-Pakets hinzuzufügen. Standardmäßig installierst du hier die neueste LTS-Version von Nodejs v16.

curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -

Füge nun den GPG-Schlüssel und das Repository für das Yarn-Paket hinzu. Yarn ist ein moderner Paketmanager für Nodejs, eine Alternative zu npm oder dem Node-Paketmanager.

curl -sS -o /etc/apt/trusted.gpg.d/yarn.gpg https://dl.yarnpkg.com/debian/pubkey.gpg
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Aktualisiere nun alle verfügbaren Repositories mit dem folgenden Befehl.

sudo apt update

Zum Schluss kannst du mit dem folgenden apt-Befehl einige Paketabhängigkeiten installieren. Dadurch werden einige grundlegende Pakete installiert, darunter die build-essentials, die für die Installation von Ruby auf deinem Ubuntu-Rechner benötigt werden.

sudo apt install git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarn

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren. Jetzt beginnt die Installation.

Rbenv einrichten

Jetzt installierst du Rbenv, die Ruby-Umgebungsverwaltung für deine Anwendung. Mit rbenv kannst du die Ruby-Version für deine Anwendungen festlegen, was für die Entwicklungsumgebung sehr hilfreich ist. Außerdem ist Rbenv einfacher und solider als andere Ruby-Verwaltungen wie RVM.

Rbenv ist eine erweiterbare Ruby-Verwaltung für deine Entwicklungsumgebung. Erweiterbar durch Rbenv-Plugins.

Um Rbenv einzurichten, musst du dich mit dem folgenden Befehl bei deinem Benutzer anmelden. In diesem Beispiel wird der Nutzername„alice“ für die Rails-Entwicklungsumgebung verwendet.

su - alice

Klone Rbenv mit dem unten stehenden git-Befehl in das Verzeichnis ~/.rbenv.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

Um Rbenv zu aktivieren, füge die Konfiguration mit dem folgenden Befehl zur Datei ~/.bashrc hinzu. Lade dann deine Bash-Sitzung neu.

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc

Als Nächstes brauchst du das Rbenv-Plugin namens ruby-build. Mit diesem Plugin kannst du jede Version von Ruby praktisch aus dem Quellcode installieren.

Klone das ruby-build-Plugin mit dem unten stehenden Befehl.

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Aktiviere nun das ruby-build-Plugin und lade deine Bash-Sitzung mit dem unten stehenden Befehl neu.

echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Damit hast du die Rbenv-Konfiguration abgeschlossen. Du kannst den folgenden Befehl verwenden, um deine Rbenv-Installation zu überprüfen. Dieser Befehl zeigt alle verfügbaren Optionen/Befehle für Rbenv an.

rbenv commands

Unten siehst du die Liste der verfügbaren Befehle.

rbenv-Befehle

Installation von Ruby mit Rbenv

Nachdem du Rbenv mit dem ruby-build Plugin erfolgreich installiert hast, installierst du nun Ruby für die Rails-Entwicklung.

Installiere die neueste stabile Version von Ruby v3.1.2 auf deinem System mit dem unten stehenden Befehl rbenv.

rbenv install 3.1.2

Mit diesem Befehl installierst du Ruby v3.1.2 aus dem Quellcode in deiner Entwicklungsumgebung. Die Befehle, die hier installiert werden, sind Teil des ruby-build Plugins.

Als Nächstes führst du den unten stehenden rbenv-Befehl aus, um die Standardversion von Ruby v3.1.2 als Standardversion für deine Anwendung einzurichten.

rbenv global 3.1.2

Überprüfe die Ruby-Version in deiner Umgebung mit dem folgenden Befehl.

ruby -v

Unten siehst du einen Screenshot von Ruby 3.1.2, das in deiner Umgebung installiert ist.

Ruby mit rbenv installieren

Zu guter Letzt musst du auch den Bundler für deine Rails-Entwicklungsumgebung installieren. Du kannst den Bundler mit dem unten stehenden Befehl gem installieren.

gem install bundler

Unten siehst du die Ausgabe, nachdem der Bundler installiert wurde.

Bundler installieren

Installation von Ruby on Rails

An dieser Stelle hast du die Installation der Paketabhängigkeiten für Ruby on Rails abgeschlossen, einschließlich Node.js, Yarn und Ruby.

Jetzt installierst du Ruby on Rails auf deinem Ubuntu-System. In diesem Beispiel installierst du Rails v7.0.2.4 für deine Anwendungsentwicklung.

Führe den unten stehenden Befehl gem aus, um Rails v7.0.2.4 zu installieren.

gem install rails -v 7.0.2.4

Der Befehl wird einige Zeit in Anspruch nehmen, weil es viele zusätzliche Ruby-Gems gibt, die installiert werden müssen. Unten siehst du einen Screenshot der Rails-Installation.

Schienen montieren

Nachdem die Rails-Installation abgeschlossen ist, führe den folgenden Befehl aus, um die Rbenv-Umgebung neu zu laden.

rbenv rehash

Zum Schluss kannst du deine Rails-Installation mit dem folgenden Befehl überprüfen.

Überprüfe die Rails-Version mit dem folgenden Befehl.

rails -v

Unten siehst du die Version von Ruby on Rails, die auf dem Ubuntu-Rechner installiert ist.

Schienenversion prüfen

Überprüfen aller verfügbaren Optionen des Rails-Befehls.

rails help

Einrichten der Datenbank

Bevor du ein neues Rails-Projekt/eine neue Rails-Anwendung erstellst, musst du entscheiden, welche Datenbank du für das Projekt verwenden willst. In diesem Beispiel wirst du PostgreSQL als Datenbank für die Rails-Projektanwendung verwenden. Bevor du also loslegst, musst du sicherstellen, dass der PostgreSQL-Datenbankserver auf deinem Ubuntu-Rechner installiert ist.

Installiere zunächst das Paket libpq-dev auf deinem Ubuntu-Rechner mit dem unten stehenden apt-Befehl. Dadurch wird automatisch libpq5 installiert, die Bibliothek, die es Benutzern oder Programmen ermöglicht, sich mit dem PostgreSQL-Datenbankserver zu verbinden und mit ihm zu kommunizieren.

sudo apt install libpq-dev -y

libpq-dev installieren

Nachdem die Installation der PostgreSQL-Bibliothek abgeschlossen ist, führe den folgenden Befehl aus, um eine neue PostgreSQL-Rolle für deine Anwendung zu erstellen. In diesem Beispiel erstellst du eine Rolle mit dem Namen „alice“, der dem Benutzernamen des Linux-Benutzers entspricht, der derzeit für das Projekt verwendet wird.

sudo -u postgres createuser -S -d -r -P alice

Nun wirst du aufgefordert, das Passwort für die neue Rolle „alice“ festzulegen. Gib das Passwort ein und wiederhole es.

Im Folgenden findest du die detaillierten Optionen der Befehle:

  • -S – Deaktiviere den Superuser oder Admin von PostgreSQL für den neuen Benutzer.
  • -d – Erlaubt das Anlegen einer neuen Datenbank auf dem PostgreSQL-Server.
  • -r – Erlaubt das Anlegen einer Rolle auf dem PostgreSQL-Server.
  • -P – Aktiviert die Konfiguration der Passwortabfrage für den neuen Benutzer.

Um die neue PostgreSQL-Rolle zu überprüfen, kannst du dich mit dem folgenden Befehl in die PostgreSQL-Shell einloggen.

sudo -u alice psql -U alice -h 127.0.0.1 -d postgres

Gib das Passwort für die PostgreSQL-Rolle alice ein.

Sobald du mit der PostgreSQL-Shell verbunden bist, führe die folgende Abfrage aus, um den Verbindungsstatus zu überprüfen.

\conninfo

Eine andere Abfrage, die du auch versuchen kannst, ist die Liste der verfügbaren Benutzer auf dem PostgreSQL-Server.

\du

Im folgenden Screenshot kannst du sehen, dass du dich als Benutzer „alice“ erfolgreich mit dem PostgreSQL-Server verbunden hast. Außerdem kannst du sehen, dass der Benutzer alice zwei Rechte hat: Rolle erstellen und DB erstellen.

Setup-Rollen postgresql

Projekt mit Rails erstellen

Jetzt ist es an der Zeit, ein neues Projekt mit Ruby on Rails zu erstellen und zu starten. In diesem Beispiel wirst du ein neues Ruby on Rails-Projekt namens myapp mit PostgreSQL als Standarddatenbank erstellen.

Um ein neues Rails-Projekt zu erstellen, kannst du den unten stehenden Befehl rails ausführen. Dieser Befehl erzeugt ein neues Rails-Projekt im Verzeichnis myapp. Mit der Option -d psotgresql gibst du die Datenbank an, die du verwenden möchtest, nämlich PostgreSQL.

rails new myapp -d postgresql

Unten kannst du sehen, wie das Rails-Projekt erstellt wird.

Schienen Projekt erstellen

Wechsle nun in das Verzeichnis myapp und bearbeite die Datenbankkonfiguration config/database.yml mit dem Editor nano.

cd myapp/
nano config/database.yml

Entferne die Kommentare und ändere die Datenbank-Anmeldeinformationen mit deinen PostgreSQL-Daten. Im folgenden Beispiel verwenden wir die PostgreSQL-Rolle„alice“ mit dem Passwort„mypassword„. Die Berechtigungen, die du hier brauchst, sind DB erstellen und Rolle erstellen.

username: alice
password: mypassword
host: localhost
port 5432

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes migrierst du die Datenbank für dein Rails-Projekt mit dem unten stehenden Befehl. Damit wird die PostgreSQL-Datenbank für deine Anwendung erstellt und generiert. Vergewissere dich außerdem, dass du keine Fehlermeldung über die fehlgeschlagene Authentifizierung bei PostgreSQL erhältst. Wenn du eine Fehlermeldung bezüglich der Authentifizierung erhältst, überprüfe noch einmal deine PostgreSQL-Benutzerdaten.

rake db:create

Migration der Rails-Datenbank

Zum Schluss führst du den folgenden Rails-Befehl aus, um dein neues Ruby on Rails-Projekt zu starten. Mit der Option -b 192.168.10.15 gibst du die Bindungsadresse an, unter der dein Projekt laufen soll. Achte darauf, dass du die IP-Adresse mit der IP-Adresse deines Ubuntu-Rechners änderst.

rails server -b 192.168.10.15

Auf dem Screenshot unten siehst du, dass die Rails-Anwendung unter der IP-Adresse 192.168.10.15 im Entwicklungsmodus mit dem Standard-TCP-Port 3000 läuft.

laufendes Schienenprojekt

Öffne nun deinen Webbrowser und rufe die IP-Adresse deines Ubuntu-Rechners mit Port 3000 auf (z.B. hier http://192.168.10.15:3000). Du wirst die Standardseite index.html des Ruby on Rails-Projekts sehen.

Schienen-Standardindex

Fazit

Herzlichen Glückwunsch! Du hast nun gelernt, wie du Ruby on Rails auf Ubuntu 22.04 installierst und konfigurierst. Du hast auch gelernt, wie du Rbenv für die Rails-Entwicklung einrichtest und wie du eine bestimmte Ruby-Version mit Rbenv installierst. Weitere wichtige Dinge, die du hier gelernt hast, sind die Einrichtung des PostgreSQL-Servers für dein Rails-Projekt, was die Installation der PostgreSQL-Bibliothek und die Einrichtung der PostgreSQL-Rolle für dein Rails-Projekt umfasst.

Das könnte dich auch interessieren …