Lighttpd mit Ruby-On-Rails auf einer virtuellen Maschine installieren

Dieser Artikel beschreibt, wie Sie auf einer virtuellen Maschine (im Folgenden VM genannt) Ruby-On-Rails mit Lighttpd installieren und konfigurieren.

Es ist der dritte und vorerst letzte Artikel in einer Serie in der ich beschreibe, wie man sich auf einer virtuellen Maschine einen Webserver mit PHP und MySQL installiert und auf dieser VM dann Samba installiert und konfiguriert.

### Lighttpd installieren

Zunächst booten Sie ihre VM wie gewohnt und verbinden sich mit Putty und ihren Benutzerdaten. Mit folgendem Befehl installieren wir anschließend den Lighttpd:

$ sudo aptitude install lighttpd

Bei der Installation gibt es wahrscheinlich einen Fehler, da der Apache bereits den Port 80 benutzt. Das soll uns aber nicht weiter stören, da wir den Lighty nur für die RoR-Entwicklung einsetzen werden. Als nächstes installieren wir die Ruby- Libs für Lighty und Mysql, Ruby selbst und Rubys Paketverwaltung „rubygems“.

### Ruby und Rubygems installieren

Zunächst brauchen wir die Ubuntu- Pakete für Rubygems. Dazu editieren wir die „/etc/apt/sources.list“ und fügen am Ende diese beiden Paketquellen hinzu:

deb http://johan.kiviniemi.name/ubuntu edgy rubygems
deb-src http://johan.kiviniemi.name/ubuntu edgy rubygems

Danach noch ein

$ sudo aptitude update

und schon können wir den ganzen Schwung an Ruby- Zutaten installieren:

$ sudo aptitude install ruby ruby1.8 ruby1.8-dev rdoc ri irb rubygems libfcgi-ruby libmysql-ruby

Achtung, das gehört alles in eine Zeile hintereinander! Nach der Auflösung der Abhängigkeiten kann es losgehen. Eventuell wird eine Warnung ausgegeben, daß wir Pakete aus unvertrauten Quellen installieren wollen. Wen das stört, der kann sich auch die MD5-Hashes für die Rubygems-Pakete von Johans Seite herunterladen.

Ein paar Minuten später sollte alles fertig sein. Daß Lighttpd meckert weil er sich nicht an Port 80 binden kann sind wir ja inzwischen gewöhnt und ignorieren es.

Jetzt können wir schon fast Rails installieren, aber vorher müssen wir den Pfad zu Rubygems zu unserer $PATH Variable hinzufügen. Dafür editiert man am Besten die Datei „/etc/profile“ und fügt am Ende dies hier hinzu:

PATH=$PATH:/var/lib/gems/1.8/bin/
export PATH

Danach noch ein

$ source /etc/profile

und schon können wir Rails installieren. Das geht dank Rubygems jetzt auch sehr leicht:

sudo gem install rails --include-dependencies

Durch diesen Befehl wird der Gems-Index aktualisiert und Rails mit allen Abhängigkeiten und Paketen installiert. Das dauert eine Weile, aber danach sollte Rails fertig eingerichtet sein. Wechseln Sie jetzt in das Root- Verzeichnis des Webservers und legen ein Testprojekt an:

$ cd /var/www
$ rails test
$ cd test

Wenn es dabei Probleme gibt, haben Sie eventuell keine Berechtigung neue Verzeichnisse in „/var/www“ anzulegen. Das gesamte Verzeichnis inklusive der Unterverzeichnisse muss ihrem Benutzer gehören, wie ich es in einem früheren Artikel beschrieben habe.

Wenn Sie sich im Verzeichnis ihres frisch angelegten Test- Projekts befinden, starten Sie Lighttpd mit ihrer neuen Webapplikation wie folgt:

$ ./script/server -d lighttpd

Wenn alles glatt gelaufen ist, sollte Lighty jetzt gestartet sein und auf Port 3000 auf Verbindungen warten. Prüfen Sie das, indem Sie in einem Browser die IP ihrer VM aufrufen und hinten den Port anhängen. In meinem Fall etwa „http://192.168.0.5:3000“:

vm-6

Glückwunsch, es kann mit der Rails-Entwicklung losgehen 🙂 Damit die Fehlermeldungen von Lighttpd bei späteren Installationen nicht mehr nervt, können Sie die Konfigurationsdatei von Lighttpd editieren und den Standardport z.B. auf 81 setzen.

$ sudo mcedit /etc/lighttpd/lighttpd.conf

Kommentieren Sie die Zeile mit „server.port“ wieder ein, dort steht bereits „81“. Danach beenden Sie Lighttpd noch einmal mit „sudo /etc/init.d/lighttpd stop“ und rufen danach aptitude mit

$ sudo aptitude dist-upgrade

auf. Starten Sie dann Lighty noch einmal neu, und schon gibt er Ruhe.

—-

Noch ein paar Anregungen, was man mit einer VM noch anstellen kann:

– Installieren Sie Subversion ($ sudo aptitude install subversion) und benutzen Sie es zusammen mit einem SVN Client wie TortoiseSVN um ihre Projekte zu versionieren
– Installieren Sie zusätzlich eine Python- Entwicklungsumgebung und schauen Sie sich Django an
– Richten Sie einige Shares ein und packen Sie ihre Webprojekte per cronjob auf ihre Backup-Festplatte
– usw…

Anregungen, Kritik und Kommentare sind wie immer willkommen!

Quellen:

Rails on Ubuntu
Ruby-on-Rails on Ubuntu
RoR mit Apache2 unter Debian

4 Kommentare

  1. Lighttpd ist um einiges schlanker und leistungsstärker, jedoch kommen bei mir oft weiße Seiten oder auch 500 Internal Server Error. Hat jemand eine Idee? Zu viel Traffic schließe ich aus, ich habe einen DS7000 Server bei Hetzner.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert