Ruby für XAMPP

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Ruby für XAMPP

Postby tz » 17. November 2007 13:38

Hallo,

möchte CGI-Skripte mit Ruby programmieren, vorwiegend für Formularverarbeitungen. Habe XAMPP für Windows in aktueller Version vorliegen.

Meine Frage, wie installiere/konfiguriere ich Ruby für XAMPP? Habe zwar schon ein wenig (vielleicht aber auch nicht genug) gegoogelt, werde aber nicht fündig. Ich würde mich wirklich sehr freuen, wenn mir dies bzgl. jemand unter die Arme greifen könnte.

Ich danke schon mal im Voraus!

Gruß,
TZ
tz
 
Posts: 14
Joined: 05. December 2004 22:56

Postby Scory » 18. November 2007 15:51

Eigentlich muss man gar nichts mehr konfigurieren, Apache ist fertig konfiguriert für CGI-Scripte.

Gehe ins cgi-bin Verzeichnis Deiner Xampp Installation, bei alten Xampp-Versionen lag das direkt unterhalb von xampp (also beispielsweise c:\programme\xampp\cgi-bin), bei neueren Versionen liegt es noch tiefer, nämlich unterhalb von htdocs (also beispielsweise c:\programme\xampp\htdocs\cgi-bin) und lege dort ein erstes Testscript an, speichere es ab unter dem Namen "rubytest.cgi".

Als Inhalt schreibst Du die folgenden drei Zeilen (kannst Du mit Copy&Paste eingeben):
Code: Select all
#!c:\ruby\bin\ruby.exe
print "Content-type: text/html\r\n\r\n"
print "<html><body>Hello World!</body></html>\r\n


Achte auf die erste Zeile, die mußt Du möglicherweise ändern, dort muss das Installationsverzeichnis von Ruby stehen (hier c:\ruby), unterhalb davon gibt es im Ordner bin das Programm ruby.exe (das ist der Interpreter). Also muss in dieser ersten Zeile grundsätzlich der volle Pfadnamen des Rubyinterpreters stehen und davor die Zeichen "#!" - das ganze nennt sich "Shebang-Zeile". Damit "weiss" Apache, wo der Interpreter für das CGI-Script gesucht werden muss.

Wenn Apache gestartet ist (wahrscheinlich schon bei PC-Boot), dann kannst Du nun einen Browser öffnen und gibst als URL ein: http://localhost/cgi-bin/rubytest.cgi

Kannst auch gleich oben drauf klicken. Dann sollte "Hello World" im Browser stehen. Das war es schon, alle Ruby-Scripte mußt Du nach dem gleichen Muster ins cgi-bin Verzeichnis stellen und sie müssen immer diese Shebang-Zeile am Anfang haben.

Grüße
Scory
Scory
 

Postby tz » 18. November 2007 17:05

erst mal danke für die ausführliche Hilfestellung!

Leider scheint es aber dennoch nicht so einfach zu sein. Ich bekomme es einfach nicht zum laufen.

Habe mir gerade die aktuelle Version 1.6.4 runtergeladen und installiert. Mein cgi-bin Verzeichniss befindet sich unterhalt von e:\XAMPP. Die Testskripte die sich in diesem Ordner befinden, beispielweise cgi.cgi, funktionieren einwandfrei(Aufruf über http://localhost/cgi-bin/cgi.cgi). Die Ruby-CGI-Skripte leider nicht, Fehlermeldung:

Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist.

Fehlermeldung:
Premature end of script headers: rubytest.cgi

Error: 500


Den Pfad zum Rubyinterpreter(Shebang-Zeile) habe ich angepasst.

Wie gesagt, ich habe eine saubere XAMPP Installation, keine Konfigurationen oder Erweiterungen bisher vorgenommen.

Ich bin ziemlich ratlos mittlerweile, zwei Tage sitze ich jetzt daran...
tz
 
Posts: 14
Joined: 05. December 2004 22:56

Postby Scory » 18. November 2007 17:36

Zeigst Du mal bitte den vollständigen Quelltext Deines Testprogrammes.

Grüße
Scory

P.S.: Bei meinem Beispiel sehe ich gerade, dass da in der 3. Zeile am Ende die Anführungszeichen flöten gegangen sind - falls Du diese Zeilen übernommen hast, mußt du natürlich die Quotes noch anfügen.
Scory
 

Postby tz » 18. November 2007 19:15

ich grich die tür nit zu...

ich hab die ganze zeit einfach nur fehlerhafte testscripte gehabt, und ich dacht es lag an der config...

naja, jetzt weiß ich wenigstens wie sich syntaxfehler melden :)

danke, es funzt!

gruß,
tz
tz
 
Posts: 14
Joined: 05. December 2004 22:56

Postby tz » 18. November 2007 22:22

ich hätte da noch eine Frage. Und zwar ist es ja jetzt so, dass die CGI-Programme im c:/xampp/cgi-bin Verzeichnis liegen müssen. Mir wäre es lieber wenn ich die CGI-Skripte in meinem Workspace-Ordner ablegen und von dort aus auch Ausführen könnte. Also von c:/xampp/htdocs/projekt/cgi-bin aus. Ist das möglich? Sicherheitsaspekte sind für diesen Fall nicht wichtig.
tz
 
Posts: 14
Joined: 05. December 2004 22:56

Postby Scory » 18. November 2007 23:19

Dann mußt Du nur in httpd.conf die Direktive "ScriptAlias" anpassen. Das findest Du und es ist so selbstredend, dass es keiner weiteren Erklärungen bedarf.

Grüße
Scory

P.S.: Was hältst Du grundsätzlich davon, mal ein wenig Dokumentation zu lesen? Falls Du wissen willst, wieso ich Deine Fragen beantworten kann: weil ich es nachgelesen habe. Bis heute Mittag kannte ich nicht einmal einen Interpreter mit dem Namen "Ruby". Das nur am Rande - niemand kommt auf die Welt und kann einfach alles.
Scory
 

Postby tz » 19. November 2007 20:57

P.S.: Was hältst Du grundsätzlich davon, mal ein wenig Dokumentation zu lesen? Falls Du wissen willst, wieso ich Deine Fragen beantworten kann: weil ich es nachgelesen habe. Bis heute Mittag kannte ich nicht einmal einen Interpreter mit dem Namen "Ruby". Das nur am Rande - niemand kommt auf die Welt und kann einfach alles.

ja richtig! Bin ich ansich deiner Meinung!

Meine Frage entstand weniger durch Faulheit in der Doku zu suchen, sonder vielmehr durch weitere Probleme die dadurch entstanden sind. Es ist ja nicht so das ich nicht in die Doku schaue, interessanter Vorwurf... Ansonsten reicht ein Blick in die http.conf. Dummerweise werden hierbei meine CGI-Programme im Klartext ausgegeben, und ich weiß nicht wieso, weshalb und warum...
tz
 
Posts: 14
Joined: 05. December 2004 22:56

Postby Scory » 19. November 2007 22:25

tz wrote:Ansonsten reicht ein Blick in die http.conf. Dummerweise werden hierbei meine CGI-Programme im Klartext ausgegeben, und ich weiß nicht wieso, weshalb und warum...


Lies mal selbst, was da nun steht: in dem Moment, wo Du in die http.conf schaust (die es gar nicht gibt, weil die httpd.conf heißt), werden bei Dir CGI-Programme im Klartext ausgegeben.

Die Lösung ist einfach: blicke einfach nicht in http.conf....

Grausam, nicht wahr!?

Grüße
Scory
Scory
 

Postby tz » 20. November 2007 00:00

ja gut, thema hat sich für mich erledigt
tz
 
Posts: 14
Joined: 05. December 2004 22:56


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 28 guests