ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Probleme mit Apache Server und ROR
BeitragVerfasst: 01 Aug 2013, 14:07 
Offline
Novize

Registriert: 03 Jul 2013, 16:05
Beiträge: 18
Hallo liebe Experten

wenn ich die ROR website auf einem aufrufe bekomme ich folgende Meldung in der error.log:
No such file or directory: exec of '/var/rails/report/public/dispatch.cgi' failed
[Thu Aug 01 12:55:41 2013] [error] [client 10.16.20.6] Premature end of script headers: dispatch.cgi

OS: Debian 7
ruby 1.8.6
rails 2.1.1
Apache 2

Vielleicht habt ihr eine Lösung für mich


Nach oben
 Profil  
 
BeitragVerfasst: 01 Aug 2013, 14:14 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Rails als CGI-App eingebunden, mit Passenger oder Apache mit mod_proxy zu einem dahinterliegendem Rack-Server?

Wie sieht die Konfiguration für den vHost aus?

Falls vorhanden, wie ist Passenger konfiguriert?

Falls CGI, wie sieht die Konfiguration aus?

Wie sieht die Konfiguration des Rack-Servers aus/wie startest du ihn falls du einen nutzt?

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 01 Aug 2013, 16:11 
Offline
Novize

Registriert: 03 Jul 2013, 16:05
Beiträge: 18
Hallo ich nutze CGI
und habs im grossen und ganzen eingerichtet wie hier der Kollege:
http://www.howtoforge.de/anleitung/verwendung-von-ruby-on-rails-mit-apache2-auf-debian-etch/
meine dispatch.cgi ist hier:
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)

# If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
# "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
require "dispatcher"

ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
Dispatcher.dispatch


Nach oben
 Profil  
 
BeitragVerfasst: 01 Aug 2013, 16:36 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Was genau heißt "im großen und ganzen"?

Welche Unterschiede hast du gemacht?

In welchem Verzeichniss liegen bei dir dann die Rails-App, wo die dispatch.cgi und wo liegt der Rails Public-Kram?

Mehr fällt mir gerade nicht ein.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 01 Aug 2013, 16:45 
Offline
Novize

Registriert: 03 Jul 2013, 16:05
Beiträge: 18
rails app= /var/rails/reporting/
dispatch.cgi=/var/rails/reporting/public/dispatch.cgi

Punkt 6 und 8 hab ich nicht gemacht


Nach oben
 Profil  
 
BeitragVerfasst: 01 Aug 2013, 17:23 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
OK, Warum hast du Punkt 6 nicht gemacht?

Wohin zeigen deine Pfade in der ApacheConf (Warum muss ich nach der eigentlich schon das dritte mal fragen?)?

Und welche Datei genau findet er denn nicht? Kannst du uns den kompletten Stacktrace geben?

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 01 Aug 2013, 17:48 
Offline
Novize

Registriert: 03 Jul 2013, 16:05
Beiträge: 18
Also erstmal danke für Deine Antwort aber der spruch zum 3 mal fragen kannst Du dir sparen wenn Dir das zu blöd ist einem
zu helfen der in Klemme sitzt dann las es halt :evil:

Punkt 6 kann ich nicht durchführen weil die Datei in meinem Rails verzeichnis nicht gibt, denn das ist ein rails Projekt(1.8.6) in
dem sowas nicht enthalten ist, jedenfalls finde ich es nicht.

hier die /etc/apache2/sites-available/default:
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/rails/reporting/public
<Directory /var/rails/reporting/public>
Options ExecCGI FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Schönen Abend noch


Nach oben
 Profil  
 
BeitragVerfasst: 01 Aug 2013, 18:27 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
ustockie hat geschrieben:
Also erstmal danke für Deine Antwort aber der spruch zum 3 mal fragen kannst Du dir sparen wenn Dir das zu blöd ist einem
zu helfen der in Klemme sitzt dann las es halt :evil:


Wenn es dir zu blöd ist, gefragte Informationen zu liefern, dann leb damit, dass bissige Kommentare kommen! Ich helfe freiwillig und unbezahlt. Wenn du WIRKLICH in der Klemme sitzt, dann geb ich dir gerne meine Kontonummer und sobald ich den Geldeingang verbuchen kann, mach ich das eben, aber das Angebot hast du mit sicherheit bereits von anderen erhalten und fragst deswegen lieber erst einmal in einem Forum in dem es freiwillige und kostenlose Helfer gibt.

Und selbst bei bezahltem würde ich dir immer raten, erfragte Informationen direkt beim ersten mal abzuliefern, ansonsten kostet das nur die Zeit des Supports und damit DEIN Geld…

ustockie hat geschrieben:
Punkt 6 kann ich nicht durchführen weil die Datei in meinem Rails verzeichnis nicht gibt, denn das ist ein rails Projekt(1.8.6) in
dem sowas nicht enthalten ist, jedenfalls finde ich es nicht.


.htaccess ist auch in einem Rails-Projekt default-mäßig nicht vorhanden, ist allerdings eine zusätzliche Konfigurationsdatei für den Apachen. In dieser hier werden spezielle Rewrites aktiviert die es dir ermöglichen example.com/controller/action direkt aufzurufen, statt example.com/dispatch.cgi/controller/action, wie es ohne die Rewrite-Rule nötig wäre.

Fazit: Leg sie einfach an, aber ich glaube eh nicht, dass der Fehler davon kommt.

ustockie hat geschrieben:
hier die /etc/apache2/sites-available/default:
<VirtualHost *:80>
[...]
</VirtualHost>


Da finde ich auf die Schnelle nix fehlkonfiguriertes, aber mir fällt gerade auf, dass du bisher noch keine Stelle gezeigt hast, in der du dem Apachen sagst, dass er dispatch.cgi mit ruby abarbeiten soll. Aber auch das glaube ich nicht, dass das der Fehler ist, trotzdem möchte ich dich bitten mal folgende dispatch.cgi auszuprobieren:



1
2
3
4
5
6
7
8
9
#!/usr/bin/env ruby
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)

# If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
# "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
require "dispatcher"

ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
Dispatcher.dispatch


Und was mir auch gerade auffällt, bitte vergleiche mal folgende beiden Zeilen:
  • Die Fehlermeldung: „No such file or directory: exec of '/var/rails/report/public/dispatch.cgi' failed“
  • Deine Apachen-Konfig: „DocumentRoot /var/rails/reporting/public“

Fällt da irgendwas auf oder ist das nur ein C&P-Fehler?

Und falls das bisher geschriebene nicht hilft, bitte ich dich erneut darum eine Frage aus meinem letzten Post zu beantworten:

NobbZ hat geschrieben:
Und welche Datei genau findet er denn nicht? Kannst du uns den kompletten Stacktrace geben?

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 02 Aug 2013, 12:10 
Offline
Novize

Registriert: 03 Jul 2013, 16:05
Beiträge: 18
Hallo hab den Fehler gefunden :lol:
Grund ursprünglich hatte ich das projekt unter linux auf einer älteren Masch
ruby ohne rvm installiert.
Nun kopiert ich das Projekt auf eine neue masch wo ich aber ruby über rvm installiert.
Leider da aber das ganze dispatch.cgi nicht mehr gepasst, hab es entspr dem rvm pfad angepasst
und nun läuft alles ;-).
Trotzdem vielen Dank für die Anworten
schönes WE

Gruss

Uwe


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron