OK per me questo significava stavo correndo rotaie 2.3 e utilizzando Phusion passeggeri 5.x
Apparentemente 5.x non funziona con 2.2 a tutti, e richiede 2.3 per voi copia in un file config.ru in modo che utilizzi il rack per il back-end.
esempio di file config.ru per 2.3:
# Rack Dispatcher
# Require your environment file to bootstrap Rails
require File.dirname(__FILE__) + '/config/environment'
# Dispatch the request
run ActionController::Dispatcher.new
Non riuscivo a capire perché non incantesimi sembrava funzionare, era come passeggero stava ignorando la mia applicazione Rails.
Nel mio file /var/log/apache2/error.log, ho avuto questa:
[Mon May 11 15:47:00.397891 2015] [autoindex:error] [pid 17490:tid 3058694976] [client 216.49.181.251:49248] AH01276: Cannot serve directory /home/x/y/railsapp/public/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive, referer: https://www.google.com/
che hanno confuso il heck fuori di me un apparentemente significava "passeggero non è in esecuzione su questo host virtuale" .
Se ho creato un file public.index.html, Apache ha fornito quell'ammenda in modo che non si trattasse di un problema di autorizzazioni.
Ho visto anche questo, il che significava passeggeri è stato avviando ok:
[ 2015-05-11 18:23:53.9594 4964/b7415700 agents/Watchdog/Main.cpp:728 ]: All Phusion Passenger agents started!
Vedi anche https://www.phusionpassenger.com/documentation/Users%20guide%20Apache%204.0.html#_i_get_a_403_forbidden_error
Quindi, fondamentalmente con 5.x passeggero (in note di rilascio si dice che Rails 2.2 isn' t supportato, 2.3 è supportato solo se si crea un file "config.ru" nella radice dell'app Rails. Funziona con le vecchie versioni di rack like rails 2.3, basta rimuovere la gemma più recente del rack e installare 1.1.6 o cosa no, rimuovi eventuali gemme di rack vendute. GL!
anche come nota a margine, questo messaggio:
[Mon May 11 18:25:10.235574 2015] [core:alert] [pid 5263:tid 3017780032] [client 127.0.0.1:56737] /home/rdp/dev/prod_flds/public/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
significava "rimuovere il tuo pubblico/.htaccess il file non è necessaria in genere passeggeri"
403 errore proibito è problema di autorizzazione. Controlla la root del documento e assicurati che index.php abbia il permesso 644. Assicurati inoltre che index.php abbia la proprietà dell'utente come quella di 500.html a cui è possibile accedere. –
Questa è un'applicazione Rails, che funziona attraverso Apache + passenger. Posso accedere ai file locali, come le immagini. Ma quando i binari dovrebbero rispondere, mi dà quell'errore. – narc88