.htaccess

Salve a tutti,
ho sviluppato un semplicissimo sito web in rails ed ora vorrei
pubblicarlo sul server apache che mi ospita.
Ora descrivo la struttura del mio sito e poi quello che ho fatto sul
server.
Nella cartella public ho cancellato il file index.html e ho messo tutto
nelle views.
Ho creato un layout nella cartella app/views/layouts/application.erb che
mi serve per tutte le viste che sono contenute nelle cartella
/app/views/home/
In questa cartella ci sono file del tipo index.html.erb e nomefile.erb
che rappresentano la parte centrale di contenuto delle pagine.
Ovviamente ci sono i relativi controller nella cartella
app/controllers/home_controller.rb ecc


Sul server ho copiato la cartella contenente l’applicazione rails nella
directory httpdocs e ho creato un file .htaccess su consiglio del
fornitore del servizio di hosting. e il file dispatch.fcgi

–file .htaccess in httpdocs/miaapplicazione/

RewriteEngine On
RewriteRule ^$ /public/index.html [L]
RewriteCond %{REQUEST_URI} !^/studio/public
RewriteRule ^(.)$ /public/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.
)$ public/dispatch.fcgi/$1 [QSA,L]

–file dispatch.fcgi in httpdocs/miaapplicazione/public
#!/usr/bin/ruby

fatto tutto questo il sito non va…è ovvio che il file htaccess deve
essere editato diversamente
Spero qualcuno mi possa aiutare

Spero di esser stato chiaro e completo…

Alessandro Sarcina wrote:

Salve a tutti,
ho sviluppato un semplicissimo sito web in rails ed ora vorrei
pubblicarlo sul server apache che mi ospita.
[…]

–file dispatch.fcgi in httpdocs/miaapplicazione/public
#!/usr/bin/ruby

fatto tutto questo il sito non va…è ovvio che il file htaccess deve
essere editato diversamente
Spero qualcuno mi possa aiutare

Dando per scontato che ruby sul server ci sia e stia nel path che hai
indicato, quando dici che l’applicazione non va, cosa succede in
effetti? C’è un’URL pubblica da provare per vedere un messaggio
d’errore?

Paolo

Paolo M. wrote:

Alessandro Sarcina wrote:

Salve a tutti,
ho sviluppato un semplicissimo sito web in rails ed ora vorrei
pubblicarlo sul server apache che mi ospita.
[…]

–file dispatch.fcgi in httpdocs/miaapplicazione/public
#!/usr/bin/ruby

fatto tutto questo il sito non va…è ovvio che il file htaccess deve
essere editato diversamente
Spero qualcuno mi possa aiutare

Dando per scontato che ruby sul server ci sia e stia nel path che hai
indicato, quando dici che l’applicazione non va, cosa succede in
effetti? C’è un’URL pubblica da provare per vedere un messaggio
d’errore?

Paolo
Quando accedo alla mia homepage/miaapplicazione mi dice 404 not found
The requested document was not found on this server poi ultimamente ho
cambiato il file htaccess perchè è ovviamente inadatto alla mia
applicazione togliendo

RewriteRule ^$ /public/index.html [L]
RewriteCond %{REQUEST_URI} !^/studio/public
RewriteRule ^(.*)$ /public/$1 [L]

mi da questo risultato
500 -Internal Server Error
The server encountered an internal error or misconfiguration and was
unable to complete your request.

Please contact the server administrator to inform of the time the error
occurred and of anything you might have done that may have caused the
error.

More information about this error may be available in the server error
log.

Sono passati anni da che ho messo in piedi un’applicazione Rails con
fastcgi (cosa che per altro non consiglio a meno di non avere nessuna
alternativa) e quindi non ricordo i problemi che si potevano incontrare,
ma visto che non si fa avanti nessuno (forse nessuno lo usa più?) provo
a ragionarci su ancora un po’.

Dalle regole che dai sembra che le url vengano riscritte come
public/dispatch.fcgi/controller/action/args il che dovrebbe andar bene.
Mi viene il dubbio che dispatch.fcgi non venga riconosciuto come
programma da eseguire e le ragioni potrebbero essere svariate tra cui i
permessi, la mancanza di un AddHandler per il suffisso .fcgi o qualche
altra configurazione di apache.

Ho googlato http://www.bluehostforum.com/showthread.php?t=12287 che
presenta un’altra configurazione, ma sul tuo sistema di sviluppo sei
riuscito a far funzionare apache e fastcgi con la stessa configurazione?

Paolo

Alessandro Sarcina wrote:

Paolo M. wrote:

Alessandro Sarcina wrote:

Salve a tutti,
ho sviluppato un semplicissimo sito web in rails ed ora vorrei
pubblicarlo sul server apache che mi ospita.
[…]

–file dispatch.fcgi in httpdocs/miaapplicazione/public
#!/usr/bin/ruby

fatto tutto questo il sito non va…è ovvio che il file htaccess deve
essere editato diversamente
Spero qualcuno mi possa aiutare

Dando per scontato che ruby sul server ci sia e stia nel path che hai
indicato, quando dici che l’applicazione non va, cosa succede in
effetti? C’è un’URL pubblica da provare per vedere un messaggio
d’errore?

Paolo
Quando accedo alla mia homepage/miaapplicazione mi dice 404 not found
The requested document was not found on this server poi ultimamente ho
cambiato il file htaccess perchè è ovviamente inadatto alla mia
applicazione togliendo

RewriteRule ^$ /public/index.html [L]
RewriteCond %{REQUEST_URI} !^/studio/public
RewriteRule ^(.*)$ /public/$1 [L]

mi da questo risultato
500 -Internal Server Error
The server encountered an internal error or misconfiguration and was
unable to complete your request.

Please contact the server administrator to inform of the time the error
occurred and of anything you might have done that may have caused the
error.

More information about this error may be available in the server error
log.

Se il tuo webhosting è bluehost dovresti utilizzare il seguente
htaccess:

AddHandler fastcgi-script .fcgi
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]

ErrorDocument 500 “

Application error

Rails application failed to
start properly”

Se non funziona così c’è qualche problema sull’applicazione.
Per essere sicuro che l’applicazioni funzioni crea, direttamente dal
pannello di controllo dell’hosting oppure con putty, un applicazione ROR
pulita.
Crea un semplice “hello world” e verifica il buon funzionamento.

Successivamente quando copierai la tua applicazione completa non
sostituire tutta la cartella app e tutta la cartella config in
particolare stai attento ai file di quest’ultima come il boot.rb e
environment.rb.
E cioè, la cosa migliore che puoi fare, è copiare prima singolarmente i
controller, i model e le view che hai creato tu sovrascrivendo quelli
generati automaticamente da ruby con criterio, esaminandoli prima.

Spero di esserti stato d’aiuto.