Ruby on Rails (RoR) ist ein Open-Source-Framework für Webanwendungen, veröffentlicht unter der MIT-Lizenz. Es ist ein serverseitiges Webanwendungs-Framework, das dem MVC-Konzept (Model-View-Controller) folgt.
Rails stellt Standardstrukturen für die Datenbank, den Webdienst und die Webseiten bereit. Mehr als 3000 Entwickler haben Code zum Rails-Framework beigetragen und es gibt viele bekannte Anwendungen, die auf Rails basieren, wie Github, Airbnb, Soundcloud usw.
In diesem Tutorial zeige ich Ihnen die Schritte zur Installation von Ruby on Rails auf Ubuntu 18.04 LTS. Wir zeigen Ihnen, wie Sie Rails mit einer PostgreSQL-Datenbank installieren und konfigurieren und wie Sie ein neues erstes Projekt mit Rails erstellen.
Voraussetzungen
- Ubuntu 18.04 LTS
- Root-Rechte
Was werden wir tun?
- Installieren Sie RVM (Ruby Version Manager)
- Ruby einrichten
- Installieren Sie Nodejs
- Ruby Gem konfigurieren
- Installieren Sie Ruby on Rails
- PostgreSQL-Datenbank für Rails-Entwicklung einrichten
- Erstellen Sie Ihre erste App mit Rails und PostgreSQL
Schritt 1 - Installieren Sie RVM (Ruby Version Manager)
RVM (Ruby Version Manager) ist ein Befehlszeilentool, das auf Bash und Ruby basiert, um die Ruby-Installation zu verwalten. Mit RVM können Sie mehrere Ruby-Versionen auf einem System installieren und konfigurieren.
Der erste Schritt, den wir tun werden, ist die Installation der rvm-Pakete mit dem Installationsskript.
Fügen Sie den rvm-Schlüssel zum Server hinzu.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Installieren Sie die stabile rvm-Version, indem Sie den folgenden Befehl ausführen.
curl -sSL https://get.rvm.io | bash -s stable --ruby
Der Befehl installiert automatisch die erforderlichen Pakete und installiert die neueste stabile rvm-Version.
Führen Sie nach Abschluss der Installation den folgenden Befehl aus.
source /usr/local/rvm/scripts/rvm
Jetzt können Sie den rvm-Befehl verwenden, um die Ruby-Version zu verwalten.
rvm version
Schritt 2 - Neueste Version von Ruby einrichten
Die neueste Ruby-Version ist derzeit Ruby 2.5.1 und wird während der rvm-Installation automatisch installiert, wenn kein Ruby-Paket auf dem System vorhanden ist.
In diesem Schritt richten wir die Standardversion von Ruby auf dem Ubuntu-System ein.
Aktualisieren Sie den rvm auf die neueste stabile Version.
rvm get stable --autolibs=enable
usermod -a -G rvm root
Überprüfen Sie nun alle verfügbaren Ruby-Versionen.
rvm list known
Und Sie erhalten viele verfügbare Ruby-Versionen - installieren Sie die neueste stabile Version Ruby 2.5.1 mit dem rvm-Befehl wie unten gezeigt.
rvm install ruby-2.5.1
Nachdem die gesamte Installation abgeschlossen ist, erstellen Sie Ruby 2.5.1 als Standardversion auf dem Ubuntu-System.
rvm --default use ruby-2.5.1
Überprüfen Sie die Ruby-Version.
ruby -v
Jetzt sehen Sie, dass Ruby 2.5.1 die Standardversion von Ruby auf dem Ubuntu 18.04-System ist.
Schritt 3 - Nodejs installieren
Ruby on Rails erfordert eine JavaScript-Laufzeit, um die Rails-Asset-Pipeline zu kompilieren. Und für die Rails-Entwicklung unter Ubuntu Linux ist es am besten, Nodejs als Javascript-Laufzeitumgebung zu installieren und zu verwenden.
Fügen Sie das Nodesource-Repository von nodejs zum System hinzu.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Installieren Sie die neueste Version nodejs 10 und einige zusätzliche Pakete mit dem folgenden apt-Befehl.
sudo apt install -y nodejs
sudo apt install gcc g++ make
Das nodejs 10 wurde auf dem Ubuntu 18.04-System installiert.
Schritt 4 – Ruby Gem konfigurieren
RubyGems ist ein Ruby Package Manager, der mit dem Gem-Befehlszeilentool geliefert wird. Es wird automatisch installiert, wenn wir Ruby auf dem System installieren.
Aktualisieren Sie gem auf die neueste Version und überprüfen Sie es.
gem update --system
gem -v
Hinweis:
Dies ist optional, wir können gem deaktivieren, um die Dokumentation bei jeder Ruby-Paketinstallation zu installieren. Einfach durch Hinzufügen der Konfiguration zur '.gemrc'-Konfigurationsdatei.
echo "gem: --no-document" >> ~/.gemrc
Schritt 5 – Ruby on Rails installieren
In diesem Tutorial verwenden wir das neueste stabile Ruby on Rails 5.2.0. Wir werden Rails mit dem Gem Ruby Package Manager installieren.
Installieren Sie Ruby on Rails 5.2.0 mit dem folgenden Befehl.
gem install rails -v 5.2.0
Überprüfen Sie nach Abschluss der Installation die Rails-Version.
rails -v
Und folgendes sollte das Ergebnis sein.
Ruby on Rails 5.2.0 wurde auf Ubuntu 18.04 LTS installiert.
Schritt 6 – Einrichten der PostgreSQL-Datenbank für die Rails-Entwicklung
Standardmäßig verwendet Ruby on Rails die SQLite-Datenbank. Es unterstützt viele Datenbanksysteme, einschließlich MySQL, SQLite und PostgreSQL. Und für diese Anleitung verwenden wir PostgreSQL.
Installieren Sie die PostgreSQL-Datenbank mit dem folgenden apt-Befehl.
sudo apt install postgresql postgresql-contrib libpq-dev -y
Nachdem die gesamte Installation abgeschlossen ist, starten Sie den Postgres-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.
systemctl start postgresql
systemctl enable postgresql
Als Nächstes konfigurieren wir ein Passwort für den Postgres-Benutzer und erstellen einen neuen Benutzer für die Rails-Installation.
Melden Sie sich beim Benutzer „postgres“ an und führen Sie die Postgres-Shell aus.
su - postgres
psql
Ändern Sie das Postgres-Passwort mit der folgenden Abfrage.
\password postgres
Geben Sie Ihr Passwort ein und das Passwort für den Postgres-Benutzer wurde hinzugefügt.
Jetzt erstellen wir eine neue Rolle für unsere Schieneninstallation. Wir erstellen eine neue Rolle namens „rails_dev“ mit dem Recht, die Datenbank zu erstellen, und mit dem Passwort „aqwe123“.
Führen Sie die Postgres-Abfrage unten aus.
create role rails_dev with createdb login password 'aqwe123';
Überprüfen Sie nun alle verfügbaren Rollen auf dem System.
\du
Und Sie erhalten die Rolle ‚rails_dev‘ auf der Liste.
Die Installation und Konfiguration von PostgreSQL für Rails Development ist abgeschlossen.
Schritt 7 – Erstellen Sie Ihre erste App mit Rails und PostgreSQL
Ruby on Rails bietet eine Befehlszeile „Rails“ zum Bootstrapping unserer ersten Rails-Anwendung.
Erstellen Sie ein neues Projekt „myapp“ mit der Standarddatenbank „PostgreSQL“, indem Sie den folgenden rails-Befehl ausführen.
rails new myapp -d postgresql
Jetzt sehen Sie das Verzeichnis „myapp“, gehen Sie in dieses Verzeichnis und bearbeiten Sie die Datenbankkonfigurationsdatei „database.yml“ mit dem vim-Editor.
cd myapp/
vim config/database.yml
Es gibt verschiedene Konfigurationsabschnitte für jedes Setup – Entwicklung, Test und Produktion.
Kommentieren Sie diese Zeile im Entwicklungsabschnitt aus und ändern Sie den Wert wie folgt.
username: rails_dev password: aqwe123 host: localhost port 5423
Fügen Sie für den Testabschnitt diese Konfigurationen unter dem Testabschnitt ein.
host: localhost port: 5432 username: rails_dev password: aqwe123
Speichern und beenden.
Generieren Sie nun die Datenbank und stellen Sie sicher, dass kein Fehler vorliegt.
rails db:setup
rails db:migrate
Wenn die Einrichtung abgeschlossen ist, starten Sie den standardmäßigen Puma Rails-Webserver mit dem folgenden Befehl.
rails s -b 192.168.1.10 -p 8080
Das erste Rails-Projekt wird auf der IP-Adresse „192.168.1.10“ mit Port 8080 ausgeführt.
Öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Servers in die Adressleiste ein.
http://192.168.1.10:8080/
Sie erhalten die Standardhomepage des Rails-Projekts wie folgt.
Als Nächstes werden wir testen, wie ein einfaches CRUD mit einer PostgreSQL-Datenbank auf Schienen erstellt wird.
Führen Sie den Schienenbefehl unten aus.
rails g scaffold Post title:string body:text
rake db:migrate
Führen Sie den Puma-Webserver erneut aus.
rails s -b 192.168.1.10 -p 8080
Und öffnen Sie den Webbrowser mit der untenstehenden URL.
http://192.168.1.10:8080/posts/
Jetzt erhalten Sie das einfache CRUD-Formular.
Und das Folgende ist mein Ergebnis nach dem Erstellen eines einfachen Beitrags.
Ruby on Rails-Installation mit PostgreSQL-Datenbank auf Ubuntu 18.04 LTS wurde erfolgreich abgeschlossen.