Einführung
Ruby on Rails, oft als Rails abgekürzt, ist ein bekanntes, quelloffenes Webframework basierend auf der Programmiersprache Ruby. Es ermöglicht die Entwicklung von Webanwendungen auf strukturierte und effiziente Weise. Rails ist besonders für seine „Konvention vor Konfiguration“-Philosophie geschätzt, die Entwicklern hilft, Applikationen zügig und unkompliziert zu erstellen. Ubuntu 22.04, die aktuelle LTS-Version der beliebten Linux-Distribution, stellt eine solide Grundlage für die Entwicklung von Ruby on Rails-Anwendungen dar.
Dieser Artikel führt Sie Schritt für Schritt durch die Einrichtung und Konfiguration der notwendigen Werkzeuge, um eine Ruby on Rails Applikation auf Ubuntu 22.04 zu realisieren.
Schritt 1: Vorbereitung der notwendigen Pakete
Zuerst müssen wir die benötigten Pakete installieren, die wir für Ruby, Rails und zugehörige Abhängigkeiten benötigen. Dies ist ein grundlegender Schritt, um eine stabile Basis für Ihr Rails-Projekt zu gewährleisten.
1. System aktualisieren: Beginnen Sie mit der Aktualisierung Ihres Ubuntu-Systems. Dadurch wird sichergestellt, dass Sie mit den neuesten Softwarepaketen arbeiten und potenzielle Konflikte vermieden werden:
sudo apt update && sudo apt upgrade
2. Ruby installieren: Ubuntu 22.04 bietet verschiedene Ruby-Versionen. Wir empfehlen die Nutzung des Tools „rbenv“, welches die Verwaltung mehrerer Ruby-Versionen auf Ihrem System vereinfacht:
sudo apt install -y git curl zlib1g-dev build-essential libssl-dev libreadline-dev libncurses5-dev libffi-dev
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
rbenv install 3.1.2
Installieren Sie die gewünschte Ruby-Version (z. B. 3.1.2)
rbenv global 3.1.2
Setzen Sie die installierte Ruby-Version als global verwendete Version
ruby -v
Überprüfen Sie die installierte Ruby-Version
3. Bundler installieren: Bundler ist ein wichtiges Werkzeug zur Verwaltung von Ruby-Abhängigkeiten innerhalb Ihrer Projekte:
gem install bundler
4. Node.js und Yarn installieren: Rails Anwendungen verwenden häufig JavaScript für Frontend- und Backend-Logik. Node.js und Yarn sind essenziell für die Installation und Verwaltung von JavaScript-Paketen:
sudo apt install nodejs npm
sudo apt install yarn
Schritt 2: Erstellung einer neuen Rails-Applikation
Nach der Installation der benötigten Pakete können wir mit der Erstellung unserer ersten Rails Applikation beginnen:
1. Neues Verzeichnis erstellen: Erzeugen Sie einen neuen Ordner, in dem Ihre Rails-Anwendung gespeichert wird:
mkdir my_rails_app
cd my_rails_app
2. Rails-Anwendung generieren: Nutzen Sie den Befehl rails new
, um Ihre Rails Applikation zu erstellen:
rails new .
Dadurch wird eine neue Rails-Anwendung im aktuellen Verzeichnis generiert.
Schritt 3: Start der Anwendung
Die neu erstellte Rails Applikation kann nun gestartet werden:
1. Navigieren Sie zum Anwendungsverzeichnis:
cd my_rails_app
2. Entwicklungsserver starten:
rails server
Dieser Befehl startet den Rails-Server auf dem Standardport 3000. Sie können nun Ihren Webbrowser öffnen und https://localhost:3000
eingeben, um die Anwendung zu betrachten.
Schritt 4: Verwaltung von Abhängigkeiten mit Bundler
Bundler ist maßgeblich für die Verwaltung von Abhängigkeiten in Rails-Anwendungen. Nach Erstellung Ihrer Anwendung wird eine Gemfile
Datei generiert, die alle benötigten Gems auflistet.
1. Abhängigkeiten installieren: Führen Sie den folgenden Befehl aus, um die in der Gemfile
spezifizierten Gems zu installieren:
bundle install
2. Abhängigkeiten aktualisieren: Wenn Sie neue Gems hinzufügen oder Abhängigkeiten aktualisieren möchten, verwenden Sie den Befehl bundle update
:
bundle update
Schritt 5: Datenbank konfigurieren
Rails unterstützt diverse Datenbanken wie PostgreSQL, MySQL und SQLite3. In diesem Beispiel nutzen wir PostgreSQL.
1. PostgreSQL installieren:
sudo apt install postgresql postgresql-contrib
2. Datenbankbenutzer anlegen:
sudo -u postgres createuser -P my_rails_user
Ersetzen Sie my_rails_user
durch Ihren gewünschten Benutzernamen.
3. Datenbank anlegen:
sudo -u postgres createdb -O my_rails_user my_rails_db
Ersetzen Sie my_rails_db
durch Ihren gewünschten Datenbanknamen.
4. Datenbank in Rails konfigurieren: Öffnen Sie die Datei config/database.yml
und passen Sie die Datenbankverbindungseinstellungen an:
development:
adapter: postgresql
encoding: unicode
database: my_rails_db
pool: 5
username: my_rails_user
password:
host: localhost
Ersetzen Sie die Platzhalter mit Ihren eigenen Daten.
Schritt 6: Erstellung von Ressourcen (Models, Controllers, Views)
Nach Einrichtung der Datenbank können Sie mit der Erstellung von Ressourcen in Ihrer Rails-Anwendung beginnen.
1. Model erstellen:
rails generate model Article title:string content:text
Dies generiert ein neues Model namens Article
mit den Attributen title
und content
.
2. Controller erstellen:
rails generate controller Articles index new create show edit update destroy
Dies erzeugt einen Controller namens ArticlesController
mit typischen Aktionen für CRUD-Operationen (Create, Read, Update, Delete).
3. Views erstellen: Die Views werden in app/views/articles
generiert. Sie können diese Dateien anpassen, um die gewünschte Benutzeroberfläche für Ihre Anwendung zu gestalten.
Schritt 7: Deployment der Anwendung
Wenn Ihre Anwendung fertiggestellt ist, können Sie sie auf einem Webserver bereitstellen. Es gibt verschiedene Möglichkeiten, eine Rails-Anwendung zu deployen, z. B. über:
- Heroku: https://www.heroku.com/ ist ein gängiger Cloud-basierter Service für das Deployment von Rails-Anwendungen.
- AWS: https://aws.amazon.com/ bietet eine Vielzahl von Services für das Hosting von Rails-Anwendungen, einschließlich EC2, Elastic Beanstalk und AWS Lambda.
- DigitalOcean: https://www.digitalocean.com/ ist ein weiterer bekannter Cloud-Provider, der die Bereitstellung von Rails-Anwendungen unterstützt.
Zusammenfassung
Die Erstellung einer Ruby on Rails-Anwendung auf Ubuntu 22.04 ist ein relativ einfacher Prozess, wenn Sie die richtigen Schritte einhalten. Von der Installation der benötigten Werkzeuge bis hin zur Erstellung von Basisressourcen und dem Deployment der Anwendung haben wir die wesentlichen Schritte beleuchtet, um Ihnen den Einstieg zu erleichtern. Rails bietet Ihnen ein mächtiges Framework, mit dem Sie zügig und effizient Webanwendungen entwickeln können.
Häufig gestellte Fragen (FAQs)
1. Welche Ruby-Version ist empfehlenswert? Es ist ratsam, die aktuelle stabile Version von Ruby zu verwenden. Sie finden die neuesten Versionen auf der Ruby-Website.
2. Wie kann ich Rails auf einem anderen Port starten? Sie können den Port beim Start des Servers angeben: rails server -p 3001
, um den Server auf Port 3001 zu starten.
3. Wie kann ich die Anwendung in der Produktion bereitstellen? Es gibt diverse Möglichkeiten, eine Rails-Anwendung in der Produktion zu deployen. Eine verbreitete Option ist die Nutzung von Heroku.
4. Wie kann ich die Datenbank migrieren? Verwenden Sie den Befehl rails db:migrate
, um die Datenbankmigrationen auszuführen und Ihre Datenbank mit dem aktuellen Schema zu synchronisieren.
5. Wie kann ich die Rails-Anwendung debuggen? Sie können den Debugger im Rails-Server aktivieren, indem Sie config.action_dispatch.show_exceptions = false
in der Datei config/environments/development.rb
setzen.
6. Wie kann ich eine neue Rails-Anwendung generieren, ohne ein neues Verzeichnis zu erstellen? Sie können den Befehl rails new .
in einem bestehenden Verzeichnis ausführen, um eine neue Rails-Anwendung zu generieren.
7. Wie kann ich die Entwicklungsumgebung von der Produktionsumgebung trennen? Es ist sinnvoll, separate Umgebungen für Entwicklung, Test und Produktion zu verwenden. In config/environments
können Sie verschiedene Konfigurationen für unterschiedliche Umgebungen festlegen.
8. Wie kann ich die Rails-Anwendung testen? Rails bietet eine integrierte Testumgebung. Sie können Tests mit rails test
ausführen.
9. Wie kann ich die Rails-Anwendung mit einem Webserver wie Nginx oder Apache verbinden? Sie können einen Reverse-Proxy wie Nginx oder Apache verwenden, um Anfragen an den Rails-Server weiterzuleiten.
10. Wie kann ich die Rails-Anwendung für die Sicherheit konfigurieren? Rails bietet zahlreiche Sicherheitsfunktionen, wie Cross-Site Request Forgery (CSRF)-Schutz und SQL-Injection-Schutz. Sie können die Sicherheitseinstellungen in config/application.rb
und anderen Konfigurationsdateien anpassen.