Ruby on Rails

Alle ausklappen Alle einklappen

Was ist Ruby on Rails?

Ruby on Rails ist ein auf der Programmiersprache Ruby basierendes Web-Framework zur Entwicklung von dynamischen, datenbankbasierten Web-Anwendungen. Ruby on Rails unterstützt Web-Entwickler bei der Entwicklung von Anwendungen durch zahlreiche Features, die für eine hohe Produktivität des Entwicklungsprozesses sorgen und insbesondere bei der Entwicklung von "Web 2.0"-Anwendungen immer häufiger Verwendung findet.

In welchen Paketen ist Ruby on Rails verfügbar?

Die Verwendung von Ruby on Rails ist in zahlreichen, älteren Paketen bei DomainFactory möglich. Leider können wir in unseren aktuellen Tarifen kein Ruby on Rails mehr anbieten. 

Wie und in welcher Version wird Ruby on Rails zur Verfügung gestellt?

Ruby on Rails steht Ihnen bei DomainFactory durch das Apache-Modul "mod_rails" zur Verfügung.

Das Ruby-on-Rails-Framework selbst ist derzeit in den folgenden Versionen installiert:

  • Version 3.2.5
  • Version 3.0.9
  • Version 3.1.0
  • Version 3.0.0
  • Version 2.3.5
  • Version 2.2.2
  • Version 2.1.0
  • Version 2.0.2

Die Programmiersprache Ruby steht in der Version 1.8.7 zur Verfügung. Rubygems, der Paketmanager für Ruby on Rails, ist in der Version 1.3.7 verfügbar.

Wir bitten um Ihr Verständnis, dass wir neuere Versionen von Ruby, sowie von Ruby on Rails leider nicht mehr unterstützen!

Welche Ressourcen stehen für Ruby on Rails zur Verfügung?

Für das Ausführen von Ruby-on-Rails-Anwendungen stehen die folgenden serverseitigen Limits zur Verfügung:

  • bis zu 80 MB Arbeitsspeicher pro Prozess
  • bis zu vier gleichzeitige Prozesse pro Applikation
  • Nimmt die Beantwortung eines Requests mehr als 20 Sekunden in Anspruch, wird der entsprechende Request automatisch abgebrochen. Nutzen Sie einen ManagedServer und haben dort das Zeitlimit für Skripte deaktiviert, so werden auch länger dauernde Ruby-on-Rails-Requests nicht abgebrochen.

Die genannten Limits sind für alle Pakete gültig, die Ruby on Rails unterstützen. Je nach genutztem Paket können für Ruby-on-Rails-Anwendungen somit abweichende Limits zur Verfügung stehen als für andere Skripte (z.B. PHP, Perl).

Wie kann ich Ruby on Rails bei DomainFactory nutzen?

Damit Rails-Applikationen auf Ihrem ManagedServer oder Webhosting-Paket laufen, müssen Sie die Ruby-on-Rails-Unterstützung für die jeweilige Domain oder Subdomain aktivieren.

Bitte beachten Sie:
Wenn Sie die Unterstützung von Ruby on Rails aktivieren, sind anschließend nur noch Ruby-on-Rails-Applikationen und statische Inhalte – wie zum Beispiel HTML-Dateien und Bilder – auf der entsprechenden Domain bzw. Subdomain funktionsfähig. Das Ausführen von anderen Skripten (z.B. PHP, Perl) ist bei aktivierter Ruby-on-Rails-Unterstützung nicht mehr möglich!

So aktivieren Sie die Ruby-on-Rails-Unterstützung:

  • Klicken Sie in der Gesamtübersicht auf den Domainnamen, für den Ruby on Rails aktiviert werden soll, um zu den Domaineinstellungen für die Domain zu gelangen. Klicken Sie dort im Reiter Subdomains bei dem gewünschten Domain- bzw. Subdomainnamen auf "Ruby on Rails konfigurieren".

  • Klicken Sie in der darauffolgenden Ansicht auf die Schaltfläche "Pfad hinzufügen..." Jetzt können Sie den Pfad angeben, für den Ruby on Rails aktiviert werden soll. Achten Sie dabei bitte darauf, den Pfad relativ zum eigentlichen Pfad der (Sub-)Domain anzugeben. Klicken Sie anschließend auf "Hinzufügen". Falls Sie Ruby on Rails für mehrere Unterverzeichnisse der (Sub-)Domain aktivieren möchten, wiederholen Sie den Vorgang.

  • Ruby on Rails ist nun für die eingetragenen Verzeichnisse der (Sub-)Domain aktiviert.

Wie wird eine Rails-Applikation installiert?

Um eine Rails-Applikation zu installieren, ist lediglich die Aktivierung von Ruby on Rails im Kundenmenü erforderlich. Der sonstige Installationsvorgang (Upload der Daten, Konfiguration der Applikation, etc.) unterscheidet sich nicht von anderen dynamischen Anwendungen, da Rails-Applikationen bei DomainFactory auf den regulären Webservern laufen und ganz normal im Webspace installierbar sind.

Die in den Paketen enthaltenen MySQL-Datenbanken stehen selbstverständlich auch für Rails-Applikationen zur Verfügung.

Wie kann die gewünschte Rails-Version konfiguriert werden?

Ruby on Rails steht bei DomainFactory derzeit in mehreren Versionen zur Verfügung. Falls Sie keine individuelle Konfiguration vornehmen und in der Rails-Applikation die Verwendung einer bestimmten Version nicht vorkonfiguriert ist, wird die Rails-Applikation automatisch mit der regulären Version 2.0.2 ausgeführt.

Möchten Sie hingegen eine andere Version – z.B. die Version 3.2.5 – von Ruby on Rails verwenden, muss die Auswahl dieser Version innerhalb der Rails-Applikation hinterlegt werden. Hierzu gehen Sie bitte wie folgt vor:

  • Suchen und öffnen Sie die Datei config/environment.rb der Rails-Applikation.

  • In der Datei definieren Sie in der ersten Zeile mit dem folgenden Eintrag die Verwendung der Rails-Version 3.2.5:

    RAILS_GEM_VERSION = "3.2.5"

Nach Speichern der Datei auf dem Webspace wird die Rails-Applikation nun mit der Version 3.2.5 ausgeführt. Bitte beachten Sie, dass diese Vorgehensweise nur dann funktioniert, wenn die eingesetzte Rails-Applikation bereits die Version 3.2.5 unterstützt. Ist dies nicht der Fall, muss die Umgebung für die Applikation zunächst auf die neue Version aktualisiert werden.

Kann die Version für meine Rails-Applikation "eingefroren" werden?

Um bei einem systemweiten Update von Ruby on Rails weiterhin eine Vorgängerversion zu verwenden, kann mit einem Freeze-Kommando die Version von Rails sowie die Gems-Bibliothek für eine Applikation eingefroren werden. So kann verhindert werden, dass bei einem systemweiten Update der Rails-Version eine Applikation nicht mehr funktionsfähig ist, weil diese beispielsweise nicht mit der neuen Version von Ruby on Rails kompatibel ist.

Einfrieren auf die aktuelle Rails-Version

Falls die Version für eine Applikation eingefroren werden soll, loggen Sie sich bitte per SSH auf Ihren Webspace ein und führen dort die folgenden Kommandos durch:

 

cd <Pfad der Applikation>
rake rails:freeze:gems

 

Dieses Freeze-Kommando friert dabei die Version ein, die derzeit für die Applikation aktiviert ist.

Einfrieren auf eine bestimmte Version

Soll für eine Applikation eine bestimmte Rails-Version eingefroren werden, so loggen Sie sich bitte per SSH auf Ihren Webspace ein und führen dort die folgenden Kommandos durch:

 

cd <Pfad der Applikation>
rake rails:freeze:edge TAG=rel_2-0-2

 

Dieses Beispiel würde die Version 2.0.2 für die Rails-Applikation einfrieren.

Meine Applikation verwendet die reguläre Rails-Version. Wie kann ich auf die neueste Version wechseln?

Standardmäßig wird für Rails-Applikationen derzeit die Version 2.0.2 von Ruby on Rails verwendet. Wenn Sie für eine Applikation, die bisher mit der Standard-Version von Rails betrieben wurde, auf eine höhere Version, beispielsweise die Version 3.2.5 updaten möchten, sind die folgenden Schritte erforderlich:

  • Suchen und öffnen Sie die Datei config/environment.rb der Rails-Applikation.

  • Um die Rails-Version 3.2.5 zu verwenden, ergänzen Sie in der Datei in der ersten Zeile den folgenden Eintrag:

    RAILS_GEM_VERSION = "3.2.5"
  • Speichern Sie die Datei dann ab.

  • Loggen Sie sich anschließend per SSH auf Ihren Webspace ein und führen Sie dort die folgenden Kommandos durch:

    cd <Pfad der Applikation>
    rake rails:update

Mit Durchführung der SSH-Kommandos wird die Applikationsumgebung auf die neue Rails-Version angepasst. Diese Anpassungen – z.B. der Datei /config/boot.rb – sind erforderlich, da Rails-Applikationen, die nur für die Rails-Version 2.0.2 konzipiert wurden, meist nicht mit neueren Versionen kompatibel sind. Falls Sie ein Webhosting-Paket ohne SSH-Unterstützung nutzen, besteht alternativ die Möglichkeit, die erforderlichen Kommandos mittels spezieller PHP-Skripte auszuführen.

Was ist RubyGems?

RubyGems ist das offizielle Paketsystem für Ruby. Mittels RubyGems lassen sich Ruby-Anwendungen und -Bibliotheken, die sogenannten Gems, einfach installieren und verwalten.

Wie kann ich eigene Gems bei DomainFactory installieren?

Wenn Ruby on Rails in Ihrem Paket enthalten ist, können Sie eigene Gems installieren.

Der Installationspfad für RubyGems

Ihre eigenen Gems werden standardmäßig unter /.gem im Home-Verzeichnis Ihres Webspace installiert.

Falls Sie ein anderes Verzeichnis für die Verwaltung Ihrer eigenen Ruby-Pakete nutzen möchten, können Sie den Pfad in der Konfigurationsdatei für RubyGems anpassen – weitere Informationen hierzu finden Sie weiter unten in dieser Frage.

Installation mittels "bundle install"

Einige Ruby-on-Rails-Anwendungen verwenden für die Gem-Verwaltung den sogenannten "Bundler". Um eigene Gems bei DomainFactory mit dem Bundler zu installieren, passen Sie den Befehl "bundle install" bitte folgendermaßen an:

 

bundle install --path /Ihr-Serverpfad/.gem --without postgresql
  • Ersetzen Sie dabei "Ihr-Serverpfad" durch Ihren Serverpfad. Den Serverpfad können Sie im Kundenmenü unter "Informationen" im Reiter "Pfade" einsehen.

  • Möchten Sie nicht das Verzeichnis /.gem für die Verwaltung Ihrer eigenen Ruby-Pakete nutzen, ersetzen Sie zudem ".gem" durch das gewünschte Verzeichnis.

Die Konfigurationsdatei

Um eigene Gems installieren zu können, müssen Sie zunächst die Konfigurationsdatei für RubyGems anlegen:

  • Legen Sie eine Datei mit dem Dateinamen .gemrc im Home-Verzeichnis Ihres Webspace an und fügen Sie die folgenden Zeilen in die Datei ein:
gemhome: &GemHome Ihr-Serverpfad/.gem 
gempath:
- *GemHome
- /usr/lib/ruby/gems/1.8
  • Bitte ersetzen Sie dabei "Ihr-Serverpfad" durch den Serverpfad des Auftrags. Den Serverpfad können Sie im Kundenmenü unter "Informationen" auf dem Reiter "Pfade" einsehen.
  • gemhome gibt den Installationspfad für Ihre eigenen Gems an. Falls Sie nicht das Verzeichnis /.gem für Ihre eigenen Gems verwenden, tauschen Sie bitte ".gem" durch den Pfad Ihres Verzeichnisses für RubyGems aus.
  • gempath gibt an, in welchen Verzeichnissen nach Ruby-Paketen gesucht werden soll.

Gems in Ihren Skripten verwenden

  • Fügen Sie in der Datei "config/environment.rb" der Rails Applikation, in der Sie eigene Gems nutzen möchten, dann die folgenden Zeilen ein:
ENV['GEM_HOME'] = 'Ihr-Serverpfad/.gem'
ENV['GEM_PATH'] = 'Ihr-Serverpfad/.gem:/usr/lib/ruby/gems/1.8'
require 'rubygems'

 

Ersetzen Sie dabei jeweils "Ihr-Serverpfad" durch den Serverpfad des Auftrags.

Umgebungsvariablen in der Datei ".bashrc"

  • Damit Ihre eigenen Gems beim Arbeiten auf der Shell zuverlässig erkannt werden, ist es zudem empfehlenswert eine Datei ".bashrc" im Rootverzeichnis des Auftrags anzulegen. Fügen Sie dort folgenden Inhalt ein:
export GEM_HOME=/Ihr-Serverpfad/.gem
export GEM_PATH=/Ihr-Serverpfad/.gem:/usr/lib/ruby/gems/1.8

 

Ersetzen Sie dabei jeweils "Ihr-Serverpfad" durch den Serverpfad des Auftrags.

  • Loggen Sie sich anschließend neu per SSH ein.

Weitere Informationen zu RubyGems finden Sie unter:

http://guides.rubygems.org/

Wo finde ich weitergehende Informationen rund um Ruby on Rails?

Mehr Informationen rund um das Web-Framework Ruby on Rails finden Sie unter den folgenden Links:

Geben sie uns Ihr Feedback

Das freut uns und wir haben Ihre positive Rückmeldung vermerkt. Wenn Sie möchten, teilen Sie uns gerne noch Details mit: Was hat Ihnen besonders gefallen? Welche Informationen waren besonders hilfreich?

Leider können wir Ihr Feedback nicht direkt beantworten, wir verwenden es jedoch, um die FAQ weiterzuentwickeln und zu verbessern. Wir freuen uns auf Ihre Antwort!

Geben sie uns Ihr Feedback

Es tut uns leid, dass Sie mit den FAQ nicht zufrieden sind. Welche Information vermissen Sie? Was können wir besser machen?

Leider können wir Ihr Feedback nicht direkt beantworten, wir verwenden es jedoch, um die FAQ weiterzuentwickeln und zu verbessern. Wir freuen uns auf Ihre Antwort!