Wie man Ruby on Rails unter Debian 12 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 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 benutzen und zu lernen ist. Einige bekannte Websites wie Twitch, Airbnb, Github, Soundcloud usw. wurden mit Rails entwickelt.

In dieser Anleitung führen wir dich durch die Installation von Ruby on Rails auf dem Debian 12 Server. Du wirst Ruby on Rails mit einem PostgreSQL-Datenbankserver und dem Ruby-Versionsmanager Rbenv installieren. Außerdem erstellst du ein Scaffold, die Grundstruktur des Rails-Projekts.

Voraussetzungen

Bevor du beginnst, solltest du sicherstellen, dass du Folgendes hast

  • Einen Debian 12 Server.
  • Einen Nicht-Root-Benutzer mit sudo-Administrator-Rechten.

Installieren der Abhängigkeiten

Im ersten Schritt wirst du einige grundlegende Abhängigkeiten auf deinem Debian-Server installieren. Dazu gehören der PostgreSQL-Datenbankserver, der als Datenbank für dein Rails-Projekt verwendet wird, node.js und der Yarn-Paketmanager, der von Rails zum Kompilieren statischer Assets verwendet wird.

Um zu beginnen, aktualisiere deinen Paketindex, indem du den Befehl apt update ausführst.

sudo apt update

Als Nächstes installierst du die Abhängigkeiten mit dem folgenden apt install-Befehl. Dazu gehören der PostgreSQL-Datenbankserver, der libpq-Treiber, Node.js, Yarn, Git und einige Systembibliotheken und Tools.

sudo apt install postgresql libpq-dev nodejs yarnpkg git 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

Bestätige mit y und fahre mit der Installation fort.

Abhängigkeiten installieren

Sobald die Abhängigkeiten installiert sind, überprüfe den Status des PostgreSQL-Servers mit dem folgenden Befehl. Damit stellst du sicher, dass PostgreSQL auf deinem Debian-Rechner läuft und aktiviert ist.

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Wenn PostgreSQL aktiviert ist, solltest du die Ausgabe aktiviert erhalten. Wenn PostgreSQL läuft, solltest du die Ausgabe active(running) oder active(exited) erhalten.

postgresql überprüfen

Überprüfe abschließend den Node.js- und Yarn-Paketmanager, indem du den folgenden Befehl ausführst.

node --version
yarnpkg --version

In diesem Beispiel ist Node.js 18 und Yarn 1.22 installiert.

Überprüfung von nodejs und yarn

Rbenv installieren

Nachdem du die Paketabhängigkeiten installiert hast, musst du im nächsten Schritt Rbenv installieren, den Ruby-Versionsmanager für Unix-ähnliche Betriebssysteme. Mit Rbenv kannst du deine Ruby-Applikationsumgebung einfach verwalten und mehrere Ruby-Versionen auf deinem System installieren.

Melde dich mit folgendem Befehl bei deinem Benutzer an.

su - user

Lade den rbenv-Quellcode und das ruby-build-Plugin über den unten stehenden git-Befehl herunter.

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

Führe nun den folgenden Befehl aus, um deiner Shell einen eigenen PATH hinzuzufügen.

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

Lade deine ~/.bashrc-Konfiguration neu, um die Änderungen zu übernehmen. Nachdem du den Befehl ausgeführt hast, sollte deine rbenv-Installation aktiviert sein.

source ~/.bashrc

Überprüfe rbenv, indem du den folgenden rbenv-Befehl ausführst. Wenn die Installation von rbenv erfolgreich war, solltest du die verfügbaren rbenv-Befehle/Optionen sehen.

rbenv commands

install rbenv

Installieren von Ruby über Rbenv

Wenn du Rbenv installiert hast, kannst du Ruby auf deinem System installieren. Mit Rbenv installierst du Ruby nur in deiner aktuellen Umgebung, was sich nicht auf das gesamte System auswirkt. Du wirst Ruby 3.2.2 in deiner aktuellen Benutzerumgebung installieren.

Führe den unten stehenden Befehl rbenv install aus, um Ruby 3.2.2 auf deinem System zu installieren.

rbenv install 3.2.2

Während der Installation solltest du dies sehen:

Ruby über rbenv installieren

Sobald Ruby installiert ist, führe den folgenden Befehl aus, um die Standardversion von Ruby auf 3.2.2 einzustellen.

rbenv global 3.2.2

Überprüfe abschließend die Ruby-Version auf deinem System mit dem folgenden Befehl.

ruby -v

Wenn alles klappt, solltest du sehen, dass Ruby 3.2.2 installiert ist.

Ruby einrichten und überprüfen

Installation von Ruby on Rails

Jetzt ist dein System konfiguriert und bereit, Ruby on Rails auf deinem Debian-Rechner zu installieren. In diesem Beispiel wirst du Ruby on Rails 7.0 installieren und die Liste der verfügbaren Rails-Versionen auf der offiziellen Website überprüfen.

Führe die folgenden gem-Befehle aus, um den Bundler zu installieren, und installiere dann Ruby on Rails 7.0.7.2.

gem install bundler
gem install rails -v 7.0.7.2

Während der Installation solltest du eine Ausgabe wie die folgende sehen:

Bundler installieren

Schienen 7.0 installieren

Führe nun den Befehl rebenv aus, um deine aktuelle Umgebung neu zu laden.

rbenv rehash

Zum Schluss führst du den Befehl rails aus, um sicherzustellen, dass Ruby on Rails installiert ist.

rails version
rails -h

Wenn die Installation erfolgreich war, solltest du deine aktuelle Rails-Version und die Hilfeseite des rails-Befehls sehen.

Kontrollschienen

Das erste Rails-Projekt erstellen

In diesem Abschnitt lernst du, wie du dein erstes Projekt mit Ruby on Rails erstellst. Du wirst PostgreSQL als Standarddatenbank für dein Rails-Projekt verwenden. Dazu musst du folgende Schritte ausführen:

  • Den PostgreSQL-Benutzer für die Anwendung vorbereiten.
  • Das erste Rails-Projekt erstellen.

Datenbankbenutzer vorbereiten

Zuerst musst du einen neuen PostgreSQL-Benutzer erstellen, der für deine Rails-Anwendung verwendet wird. Dieser Benutzer muss die Berechtigung haben, Datenbanken und Benutzer zu erstellen.

Gehe zurück zu deinem Benutzerkonto und melde dich mit dem unten stehenden Befehl am PostgreSQL-Server an.

sudo su
sudo -u postgres psql

Erstelle nun einen neuen Benutzer bob mit dem Passwort p4sswordbob. Weisen Sie dem Benutzer bob neue Berechtigungen zum Erstellen einer Datenbank und Rollen zu.

CREATE USER bob WITH PASSWORD 'p4sswordbob';
ALTER USER bob CREATEDB CREATEROLE;

Postgresql-Rolle erstellen

Überprüfe die Liste der Benutzer und Berechtigungen auf deinem PostgreSQL-Server mit dem unten stehenden Befehl.

\du

Du solltest den Benutzer bob mit den Privilegien CREATEDB und CREATEROLE sehen.

Benutzer auflisten

Gib \q ein, um dich vom PostgreSQL-Server abzumelden.

Zuletzt meldest du dich mit deinem Benutzer an und führst den folgenden psql-Befehl aus, um dich als neuer Benutzer bob am PostgreSQL-Server anzumelden.

su - user
psql -U bob -h 127.0.0.1 -d postgres

Sobald du mit dem PostgreSQL-Server verbunden bist, führe die folgende Abfrage aus, um deine Verbindungsinformationen zu überprüfen.

\conninfo

Du solltest sehen, dass du dich mit dem PostgreSQL-Server als Benutzer bob verbunden hast.

Verbindungen prüfen

Gib \q ein, um den PostgreSQL-Server zu verlassen.

Rails-Projekt erstellen

Nachdem du einen PostgreSQL-Benutzer angelegt hast, kannst du nun mit dem Rails-Kommandozeilenprogramm ein neues Rails-Projekt erstellen.

Um ein neues Rails-Projekt zu erstellen, führst du den folgenden Rails-Befehl aus. In diesem Beispiel wirst du ein neues Projekt testapp mit der Standarddatenbank PostgreSQL erstellen.

rails new testapp -d postgresql

Die Ausgabe des Befehls sollte wie folgt aussehen:

Schienenprojekt erstellen

Nachdem das Projekt erstellt wurde, wird auch das neue Verzeichnis ~/testapp erstellt. Wechsle in das Verzeichnis ~/testapp und öffne die Datenbankkonfiguration config/database.yml mit deinem bevorzugten Texteditor.

cd testapp/
nano config/database.yml

Ändere die Standarddatenbankeinstellungen für Entwicklung, Test und Produktion. Achte darauf, dass du deinen PostgreSQL-Benutzernamen und dein Passwort eingibst.

development:
  <<: *default
  database: testapp_development
# The specified database role is being used to connect to postgres.
# To create additional roles in postgres see `$ createuser --help`.
# When left blank, postgres will use the default role. This is
# the same name as the operating system user running Rails.
username: bob

# The password associated with the postgres role (username).
password: p4sswordbob

# Connect on a TCP socket. Omitted by default since the client uses a
# domain socket that doesn't need configuration. Windows does not have
# domain sockets, so uncomment these lines.
host: localhost

# The TCP port the server listens on. Defaults to 5432.
# If your server runs on a different port number, change accordingly.
port: 5432

Speichere und beende die Datei, wenn du fertig bist.

Führe nun den folgenden Rails-Befehl aus, um die Datenbank zu migrieren. Dadurch wird automatisch eine neue Datenbank für dein Testapp-Projekt erstellt.

rails db:setup
rails db:migrate

Unten siehst du die Ausgabe während der Datenbankmigration des Testapp-Projekts.

die Datenbank migrieren

Nachdem die Datenbank migriert wurde, führe den folgenden Rails-Befehl aus, um das testapp-Projekt zu starten. Dadurch wird testapp innerhalb deiner IP-Adresse auf Port 3000 ausgeführt.

rails server -b 192.168.10.15

In der folgenden Ausgabe solltest du sehen, dass testapp läuft.

Laufschienen

Starte nun deinen Lieblings-Webbrowser und rufe die IP-Adresse deines Servers gefolgt von Port 3000 auf, zum Beispiel http://192.168.10.15:3000/. Wenn deine Installation erfolgreich war, solltest du die Standardseite index.html von Ruby on Rails sehen.

Schienenindex

Drücke Strg+c, um deine Rails-Anwendung zu beenden.

Rails-Gerüst für das Starter Kit

Ein Scaffold ist eine automatische Methode, um die Grundstruktur eines Rails-Projekts zu erstellen, die einen Controller, ein Model und eine View umfasst.

Führe den folgenden Rails-Befehl aus, um Scaffold Books mit den drei Feldern title, author und publication_year zu erstellen.

rails g scaffold books title:string author:string publication_year:integer

Gerüst erstellen

Migriere nun die Datenbank, um die Änderungen mit dem unten stehenden Rails-Befehl zu übernehmen.

rails db:migrate

die Datenbank migrieren

Als Nächstes führst du dein Rails-Projekt aus, indem du den unten stehenden Befehl rails server ausführst.

rails server -b 192.168.10.15

run raikls project

Sobald testapp läuft, überprüfe das Büchergerüst über den URL-Pfad /books, z. B. http://192.168.10.15:3000/books. Wenn alles gut läuft, solltest du das generierte Gerüst wie das folgende sehen:

Gerüstschienen

Du kannst jetzt neue Daten in das Books-Gerüst einfügen, wie im Folgenden gezeigt:

gerüstete Eingangsdaten

Schlussfolgerung

Abschließend hast du die Installation von Ruby on Rails mit dem PostgreSQL-Datenbankserver und Rbenv auf dem Debian 12-Server abgeschlossen. Außerdem hast du gelernt, wie du Gerüste für grundlegende Strukturen für das Rails-Projekt erstellst.

Das könnte dich auch interessieren …