Come far funzionare Ruby on Rails sui server JaguarPc (CPanel)
Uso da moltissimi anni senza dovermi mai lamentare troppo, del servizio hosting offerto da jaguar (http://www.jaguarpc.com).
Jaguar utilizza cpanel per far gestire lo spazio e il server ai propri clienti. Per la stragrande maggioranza dei siti che si producono, a meno che non ci siano esigenze particolari, questo servizio è sempre stato sufficiente, a volte anche molto comodo grazie al “fantastico panel” che permette di installare CMS al volo.
Diverso tempo fa, cpanel e jaguar hanno introdotto il supporto a Ruby on Rails. Puoi creare la tua applicazione e indirizzarla in una percorso definito anche non nella root (es: http://tuodominio.it/test/)
Da sviluppatore Rails quando vidi questa cosa ebbi un sussulto di gioia! per alcuni miei progetti era una manno poter passare da php a questo framework.
Ci ho pravato mote volte ma MAI sono sono riuscito a far girare una applicazione in maniera corretta. E a nulla sono serviti i 29 ticket che ho aperto con l’assistenza (sempre ottima devo dire) ma in questo caso molto impreparata.
Alla fine, grazie al mio guru/maestro il buon vechio Joe, ieri siamo riusciti e mi sembra doveroso condividere questa scoperta che può essere utile ad altri.
Ovviamente questa piccola guida è solo per chi possiede un hostin con cpanel.
i passi previ sono:
- creare una nuova applicazione Rails su cpanel dandole un nome (es: test)
- creare un rewrite affinche il server possa puntare http://tuodominio.it:12030/test su http://tuodominio.it/test
- avviare l’applicazione cliccando su START
A questo punto il sistema crea un .htaccess nella directory public_html e il sito con la classica index di rails dovrebbe essere visibile. Mai successo!
Perchè? non sono un esperto di apache ecc e il probelma sta prorpio nel .htaccess generato dal sistema che dovrebbe risultare più o meno così:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^tuodominio.it$ [OR]
RewriteCond %{HTTP_HOST} ^www.tuodominio.it$
RewriteRule ^test? http\:\/\/127\.0\.0\.1\:12030$1 [P,QSA,L]
Il punto è che la directory public/ non vien eassolutamente raggiunta e così nemmeno le immagini, css, javascript ecc
Se però creiamo un primo controller e un action, questa la visualizzaremo (senza stili nè js)
es: http://tuodominio.it/test/controller/action/
SOLUZIONE: basta modificare la stringa dell’applicazione in questo modo:
RewriteRule ^test(/.*)? http\:\/\/127\.0\.0\.1\:12031$1 [P,QSA,L]
la regex non era corretta, così dovrebbe funzionare tutto
grazie joe!












