Steht der rollende Ruby nicht auf Apachen?

Gix

Pferdeapfel
Registriert
24.02.06
Beiträge
78
Hallo Leute,

als vorbildlicher Softwareentwickler wollte ich meinen Horizont erweitern und die für mich neue Ruby On Rails- Geschichte mal näher betrachten. Hatte mir das ungefähr so vorgestellt: kurz installieren, paar Tutorials machen und dann entscheiden, ob ich mich "hypen" lasse oder nicht. Und es kam ganz anders... Über das "kurz installieren" bin ich am Wochenende nicht hinaus gekommen. Ja, lacht nur... Ich war kurz vor einem Heulkrampf :-c. Unten steht ein wenig von meiner Leidensgeschichte... Aber erstmal das wichtige:

Wie muss ich Apache konfigurieren, so dass ich folgenden Szenario erhalte:

Habe meine Rails Application unter /Users/helge/work/MyApp. Möchte ein virtuelles Verzeichnis für MyApp haben, so dass ich mit http://localhost/MyApp meine Application starte. Eingentlich ganz einfach, oder? Ich habs aber nicht geschafft. Weder mit Alias noch mit VirtualHost noch mit einem Link. Vielleicht kann jemand posten, wie der entsprechende Abschnitt in httpd.conf aussehen muss. Bitte! Ich bin verzweifelt. (Mit Locomitive bzw. /script/server funktioniert es).


Mal so ein paar Gedanken:
Muss dazu sagen, dass ich seit knapp 2 Monaten einen Mac habe und ich bisher auch sehr zufrieden war. Ich dachte eigentlich, dass wir zwei schon ganz gut miteinander auskommen - aber am Wochenende hat er sich von der bösen Seite gezeigt. Kleiner Extrakt: Apache 2 installieren. Aus Windowszeiten würde ich sagen, lade ich mir kurz die gepackte Datei runter und installiere sie. Jetzt ist es eigentlich fast gleich, bloss, dass ich normalerweise eine dmg runterladen. Bei Apache sieht das aber ganz ganz anders aus. Ich muss SourceCode laden (hallo?!). Dann mir erstmal mühsam aus dem Web suchen, wie ich was kompilieren und installieren muss *graus*. Erst wollte ich es nicht glauben, aber nach 1 Stunde suchen im Internet habe ich dann aufgegeben und das ganze Ding kompiliert... Tierisch umständlich.

Ruby on Rails war dann noch mal ähnlich. 5x irgendwelche Module laden, kompilieren und installieren. Ging aber relativ schnell, waren alles nur kleinere Sachen. Der Installer von Tony Arnold (oder so ähnlich) ging bei mir nicht (habe Intel Mac). Locomotive habe ich erst nicht verstanden, und dann für mich beschlossen, wenn ich das jetzt installiere, dann gleich auf dem Apache. Und das war mein Verhängnis.

BTW: Gibt es irgendein Programm, mit dem man auf der gesamten Platte nach einer Datei suchen kann? Nein, nicht Spotlight! Der findet nichts vom Betriebssystem. Habe bei Versiontracker nach "File" und "Find" gesucht, aber nichts gefunden. Terminal Befehl "locate" findet laut "man" auch nur sichtbare Dateien. Mit dem Finder stehe ich mittlerweile auf Kriegsfuss. Warum kann man nicht einstellen, dass er immer alle Dateien zeigen soll (auch /etc/ und /usr/local/ z.B.).

Helge
 

Bölzebub

Querina
Registriert
27.05.05
Beiträge
180
Gix schrieb:
Habe meine Rails Application unter /Users/helge/work/MyApp. Möchte ein virtuelles Verzeichnis für MyApp haben, so dass ich mit http://localhost/MyApp meine Application starte. Eingentlich ganz einfach, oder? Ich habs aber nicht geschafft. Weder mit Alias noch mit VirtualHost noch mit einem Link. Vielleicht kann jemand posten, wie der entsprechende Abschnitt in httpd.conf aussehen muss. Bitte! Ich bin verzweifelt. (Mit Locomitive bzw. /script/server funktioniert es).
Sollte im Normalfall mit Symlink und "FollowSymlinks" klappen.

Gix schrieb:
Mal so ein paar Gedanken:
Muss dazu sagen, dass ich seit knapp 2 Monaten einen Mac habe und ich bisher auch sehr zufrieden war. Ich dachte eigentlich, dass wir zwei schon ganz gut miteinander auskommen - aber am Wochenende hat er sich von der bösen Seite gezeigt. Kleiner Extrakt: Apache 2 installieren. Aus Windowszeiten würde ich sagen, lade ich mir kurz die gepackte Datei runter und installiere sie. Jetzt ist es eigentlich fast gleich, bloss, dass ich normalerweise eine dmg runterladen. Bei Apache sieht das aber ganz ganz anders aus. Ich muss SourceCode laden (hallo?!). Dann mir erstmal mühsam aus dem Web suchen, wie ich was kompilieren und installieren muss *graus*. Erst wollte ich es nicht glauben, aber nach 1 Stunde suchen im Internet habe ich dann aufgegeben und das ganze Ding kompiliert... Tierisch umständlich.
Wenn ich dich richtig verstanden habe, dann geht es hier nur um Spielereien und nich um einen Produktionsserver. Dafür eignet sich MAMP wunderbar. Das installiert Apache, MySQL, usw. in einen eigenen Ordner, sodass man sich das System nicht mit zig Versonen zumüllt.

Gix schrieb:
BTW: Gibt es irgendein Programm, mit dem man auf der gesamten Platte nach einer Datei suchen kann? Nein, nicht Spotlight! Der findet nichts vom Betriebssystem. Habe bei Versiontracker nach "File" und "Find" gesucht, aber nichts gefunden. Terminal Befehl "locate" findet laut "man" auch nur sichtbare Dateien. Mit dem Finder stehe ich mittlerweile auf Kriegsfuss. Warum kann man nicht einstellen, dass er immer alle Dateien zeigen soll (auch /etc/ und /usr/local/ z.B.).
"mdutil -i on /usr/" und Spotlight sucht auch in /usr; siehe "man mdutils".
 

Demo

Süssreinette (Aargauer Herrenapfel)
Registriert
02.04.04
Beiträge
411
Mittels FastCGI ist das recht einfach, der nachfolgende Link ist zwar fuer Debian aber mit bisschen Abstraktion durchaus zu uebernehmen:

klick.

Der rollende Ruby steht vorallem aufs Macs. ;)
 

Gix

Pferdeapfel
Registriert
24.02.06
Beiträge
78
Sollte im Normalfall mit Symlink und "FollowSymlinks" klappen.
FollowSymLinks hatte ich angeschaltet.

Wenn ich dich richtig verstanden habe, dann geht es hier nur um Spielereien und nich um einen Produktionsserver. Dafür eignet sich MAMP wunderbar. Das installiert Apache, MySQL, usw. in einen eigenen Ordner, sodass man sich das System nicht mit zig Versonen zumüllt.
Das werde ich beim nächsten mal berücksichtigen. Hätte mir eine Menge Arbeit erspart.

"mdutil -i on /usr/" und Spotlight sucht auch in /usr; siehe "man mdutils".
cool, das werde ich mir mal anschauen

Mittlerweile läuft es. Aber die Lösung ist ein wenig anders, als ich mir das vorgestellt hatte. Ich hatte Apache 2.2.2 installiert. Den mit Tiger ausgelieferten apachectl aus /usr/sbin hatte ich umbenannt in apachectl-1.3 und dann /usr/sbin/apachectl verlinkt auf /usr/local/apache2/bin/apachectl gesetzt. So konnte ich meinen Apache2 starten.

Nachdem ich heute schon wieder diverse Stunden investiert habe und jede Menge über RewriteBase und RewriteRule gelesen habe, dachte ich mir dann: Mensch, probiere ich doch noch mal den mitgelieferten Apache. Also den Link gelöscht, apachectl-1.3 wieder in apachectl umbenannt die default httpd.conf hergestellt und nur
ServerName localhost

Alias /AppThree/ /Users/helgefruh/work/rails/AppThree/public/
<Directory /Users/helgefruh/work/rails/AppThree/public/>
Options ExecCGI FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>

hinzugefügt.

Und? Verdammte Scheiße! Es läuft! So, die erste Hürde ist genommen. RubyOnRails - ich komme!

Verstehen tue ich das aber immer noch nicht. Hab ich irgendwas beim Kompilieren und installieren von Apache2 grundlegend versaut? Das CGI Module war mit
LoadModule cgi_module modules/mod_cgi.so
schon in der default httpd.conf vom Apache2 drin. Und ansonsten habe ich nichts gemacht.

Als nächsten Schritt, werde ich dann wohl mal fcgi ausprobieren bzw dieses fcgid (soll kompatibel zu fcgi sein).

So, jetzt kann ich beruhigt ins Bett fallen.
Over and Out,
Helge
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Hallo Helge

Gix schrieb:
BTW: Gibt es irgendein Programm, mit dem man auf der gesamten Platte nach einer Datei suchen kann? Nein, nicht Spotlight! Der findet nichts vom Betriebssystem. Habe bei Versiontracker nach "File" und "Find" gesucht, aber nichts gefunden. Terminal Befehl "locate" findet laut "man" auch nur sichtbare Dateien.
man find
find / -name blabla

Gruss
Jonathan