Eine Schritt-für-Schritt Anleitung zur ersten eigenen Ruby on Rails Applikation beim Shared Hosting Anbieter http://www.campusspeicher.de:
Die lokale Rails Applikation
lokal Rails 1.2.3 als Gem installieren:
$ sudo gem install rails -v 1.2.3
Eine neue Applikation anlegen und testweise starten:
$ rails hellorails $ cd hellorails $ script/server
Der Browser sollte jetzt bei http://localhost:3000 einen kurzen Begrüßungstext zeigen.
Die gewünschte Rails Version in der neuen Applikation einstellen. Dazu mit einem Texteditor die Datei
config/environment.rb
so einstellen, daß sie1.2.3
in der folgenden Zeile enthält:# Specifies gem version of Rails to use when vendor/rails is not present RAILS_GEM_VERSION = '1.2.3' unless defined? RAILS_GEM_VERSION
Einen neuen Controller anlegen:
$ script/generate controller hello
Den Controller
app/controllers/hello_controller.rb
anpassen, so daß er folgenden Inhalt hat:class HelloController < ApplicationController def index render :text => "Hello, world!" end end
Ausprobieren:
$ script/server
Der Browser sollte jetzt bei http://localhost:3000/hello als Text „Hello, world!“ zeigen.
Zum Campusspeicher hochladen
- per Plesk eine Subdomain „hellorails“ anlegen, CGI + FastCGI aktivieren
per lftp nachgucken ob sie da ist:
$ lftp mydomain.example lftp ftp_user@mydomain.example:/> cd /subdomains/hellorails/httpdocs lftp ftp_user@mydomain.example:/subdomains/hellorails/httpdocs> ls -Al lftp ftp_user@mydomain.example:/subdomains/hellorails/httpdocs> quit
die Datei
public/dispatch.fcgi
anpassen, so daß sie mit folgender Zeile beginnt:#!/usr/bin/ruby
das komplette Verzeichnis
hellorails
zum Webserver in dessen Unterverzeichnissubdomains/hellorails/httpdocs
kopieren,$ cd .. $ lftp -e "mirror --delete --reverse hellorails subdomains/hellorails/httpdocs/;quit" mydomain.example
eine
.htaccess
Datei mit folgendem Inhalt anlegen:RewriteEngine On RewriteRule ^$ /hellorails/public/index.html [L] RewriteCond %{REQUEST_URI} !^/hellorails/public RewriteRule ^(.*)$ /hellorails/public/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /hellorails/public/dispatch.fcgi/$1 [QSA,L]
in das Wurzelverzeichnis der Subdomain hochladen:
subdomains/hellorails/httpdocs
fertig! Der Browser sollte jetzt unter http://hellorails.mydomain.example/hello „Hello, world!“ anzeigen.