Re: mod_ruby

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

Cosa c’e` scritto nel server log? Comunque, io non uso mod_ruby, uso
fastcgi, quindi oltre l’idea di guardare nel log non ho idee (beh,
probabilmente farei andare un bel strace per vedere esattamente cosa
sta facendo…).


David N. Welton
http://www.welton.it/davidw/

DedaSys LLC
http://www.dedasys.com

Ok, allora se configurarlo porta al tentato suicidio passo…

Però io vorrei studiare ruby per il web e poi passare a rails…
Come devo fare a vedere una paginetta scritta in ruby nel server web?
Ammetto di non essere un amgo delle installazioni, ma non può essere così
difficile.

Grazie intanto delle risposte.
Bonzo

Il 17/08/07, David [email protected] ha scritto:

Qualcuno di intraprendente potrebbe voler rendere molto chiaro
quant’è incasinato configurare ruby con apache e elencare magari una serie
di alternative meno folli di mod_ruby…

So che ci sono dei casi in cui apache+mod_ruby sembra allettante, ma
quanti di noi è mai riuscito a configurarlo senza arrivare pericolosamente
vicino al suicidio dopo?

Quanti, tra chi ci prova, ci si mettono più che altro perché è abituato a
sviluppare siti web con Apache+mod_NOMELINGUAGGIO e non perché è realmente
necessario?

Ho come il sospetto che perdiamo un buon numero di addetti per via della
brutta esperienza con ruby come CGI.

Tutta l’idea del “principle of least surprise” va un po’ persa in questi
casi, e con quella buona parte dell’appeal di ruby e di rails.

:frowning:

Facciamo un fork di Ruby che ti sputa addosso se provi a usarlo con
mod_ruby? O che ti seduce la moglie se lo usi? O che manda i tuoi
estratti conto al fisco?

Non preoccuparti, purtroppo o per fortuna vengo da PHP.
Sul consiglio di provare Rails ci avevo pensato pure io, quindi ti pongo
i
problemi che ho trovato:
ho installato gems, poi Rails e mi è andato a buon fine.
Mi ha creato la cartella /var/rails, però ora se do il comando rails

mi dice che il comando è sconosciuto.

Ho fatto ruby script/server e mi dice:
ruby: No such file or directory – script/server(LoadError) e alla porta
3000 non vedo niente.

Posso lanciare gem_server, e alla porta 8808 vedo le pagine create
dall’installazione.

Ammetto che tutte queste difficoltà portano a pensare di mollare, ma in
questo momento ruby mi sembra l’alternativa migliore a PHP, quindi
persisto.
Grazie
Bonzo

Il 17/08/07, David [email protected] ha scritto:

Sappi che ti capisco. Al “primo giro” uno vuol farsi l’hello world e poi
passare oltre. Quando ho cominciato a ricercare alternative a PHP ho
provato Django per primo. Il mio ragionamento era “per capire se ha
senso investire tempo su questa roba voglio capire se funziona con
l’infrastruttura che abbiamo: Apache e moduli vari”. Quindi prima di
imparare Django ho voluto verificare che girasse per benino sui server e
mi sono messo a configurarlo seguendo i doc per il “deployment”. Ho
fallito. Dopo un paio di giorni di tentativi disperati ho mollato tutto
e ho provato con Rails e webrick.

(Ovvio: il confronto tra Rails+webrick e Apache+mod_python+django è del
tutto ingiusto; fossi partito da apache+mod_ruby starei probabilmente
scrivendo sulla ML di django ora… era giusto per dire come una brutta
esperienza iniziale può far abbandonare il progetto ante tempo)

Iniziare con Rails direttamente può sembrare una cattiva idea, ma in
realtà credo che anche per imparare “ruby per il web” si possa fare molto
bene direttamente da rails.

Fregatene dei centinaia di file che ti crea e fai a meno dello
scaffolding (troppa magia per un neofita da capire e risulta solo
sviante, a mio parere).

  1. rails hello_world
    (crea la sua pletora di file nella dir “hello_world”

  2. cd hello_world

  3. script/generate controller HelloWorld

  4. apri app/controllers/hello_world_controller.rb

  5. Inserisci:
    class HelloWorldController < ApplicationController
    def index
    render :text => “hello world”
    end
    end

  6. script/server

  7. Apri http://localhost:3000/hello_world/

Poi ci giochi. Dentro index() scrivi tutto il ruby che ti pare e piace e
poi sbatti tutto in stringhe ed è proprio come il buon vecchio “<?php echo 'pippo!'; ?>”

Fossi in te partirei così. Concentrarsi sul ruby è un’ottima idea; scoprirai
presto che userai sempre più irb (sotto forma di script/console per rails) e
il log (“tail -f log/development.log”…) e sempre meno stringhe in una
pagina web.

Per il resto siamo qui ad aiutarti se/quando hai bisogno.

(Infine: ti ho risposto come se tu venissi da PHP, proprio come me, e ti
prego di non essere offeso se così non fosse!)

:slight_smile:

Per fare una prova semplice, e` sufficiente usare il server incluso con
rails:

./script/server

Poi uno va su http://localhost:3000/

D’accordo, non va bene per un ambiente di produzione, ma piu semplice di cosi

Condivido, comunque, l’idea che quelli di Rails dovrebbero arrivare a
qualche soluzione standard per l’hosting, che coinvolge Apache, invece
di avere una cosa diversa ogni sei mesi (fastcgi! lighttpd! mongrel!).

Saluti dal freddo e grigio Austria:-(

David N. Welton
http://www.welton.it/davidw/

DedaSys LLC
http://www.dedasys.com

On Fri, 17 Aug 2007 11:22:53 +0200, Bonzo wrote:

Non preoccuparti, purtroppo o per fortuna vengo da PHP.

:slight_smile:

Sul consiglio di provare Rails ci avevo pensato pure io, quindi ti pongo i
problemi che ho trovato:
ho installato gems, poi Rails e mi è andato a buon fine.
Mi ha creato la cartella /var/rails, però ora se do il comando rails

Ok. Quindi c’è qualche problema a monte.

Hmm. Sei su linux immagino?

Se non erro molti distro usano /var/rails per il deployment. Non
dovrebbe essere necessario badarci per ora.

La posizione del commando “rails” varia un po’ a seconda di come hai
installato il gem.
Su mac ce l’ho in /opt/local/bin/rails
Su fedora si trova in /usr/bin/rails (chissà com’è finito lì…)

Se fai “whereis rails” che dice? Nulla immagino. Direi che hai un
problema di PATH.

  1. trova l’eseguibile
  2. verifica che la cartella dell’eseguibile si trovi nel PATH

In ogni caso, l’eseguibile “rails” è solo un bash script che punta alla
cartella bin del gem. Alla peggio lo crei tu da solo:
#!/usr/bin/ruby

This file was generated by RubyGems.

The application ‘rails’ is installed as part of a gem, and

this file is here to facilitate running it.

require ‘rubygems’
version = “> 0”
if ARGV.first =~ /^(.*)$/ and Gem::Version.correct? $1 then
version = $1
ARGV.shift
end
gem ‘rails’, version
load ‘rails’

Lo chiami “rails” e lo metti dove hai i tuoi eseguibili e fai un “chmod
+x /path/dello/script/rails”

mi dice che il comando è sconosciuto.

Ho fatto ruby script/server e mi dice:
ruby: No such file or directory – script/server(LoadError) e alla porta
3000 non vedo niente.

la cartella “script” e i comandi che ci troverai sono creati dal
commando “rails”, quindi non ci sono (ancora)

Posso lanciare gem_server, e alla porta 8808 vedo le pagine create
dall’installazione.

Ok. Non dovrebbe essere necessario usare “gem_server”, ma intanto è un
bene che almeno quello vada!

Ammetto che tutte queste difficoltà portano a pensare di mollare, ma in
questo momento ruby mi sembra l’alternativa migliore a PHP, quindi persisto.

Mi trovi su AIM “davdplm” se hai bisogno.

:slight_smile:

Con l’aiuto davdplm ora riesco ad usare rails, e per ora le prove le
farò da
li.
Ciao e grazie a tutti.
Bonzo

Il 17/08/07, David [email protected] ha scritto:

David wrote:

Sappi che ti capisco. Al “primo giro” uno vuol farsi l’hello world e poi
passare oltre. …

Iniziare con Rails direttamente pu� sembrare una cattiva idea, ma in
realt� credo che anche per imparare “ruby per il web” si possa fare molto
bene direttamente da rails…

ciao,
ho letto tutta l’interessante discussione, istruttiva.
Anch’io ovviamente sto passando a Rails, ma mi piaceva installare
mod_ruby ed eruby, sia per provare, sia perché provengo da Perl, e
mettere codice dentro le pagine mi suona familiare (con abbondanza di
“here doc”, hi)…
Però ora, dopo aver installato Ruby 1.9.1 in CentOS e aver scaricato
mod_ruby 1.30, che dovrebbe essere compatibile sperimentalmente con
1.9 non me lo fa compilare, dicendo che non può caricare qualcosa in
/user/local/lib, ecc…
Non riesco a venire a capo del problema e nel sito di mod_ruby non trovo
nulla.
C`è speranza di installarlo?
Per piccoli cgi “Ã la perl” mi pare ancora (inesperienza) anche troppo
creare un’applicazione Rails (anche se mi affascina farlo)…

grazie, ciao
salvo

Luca G. wrote:

Salvo, ti consiglio di installare ruby enterprise edition, �
sviluppato dalla stessa azienda di passenger/mod_rails, ti render� di
sicuro la vita pi� facile. L’ultima release installa Ruby 1.8.7, non
so se hai esigenze particolari.

Luca

ciao Luca,
potrei provarci, ma mi piacerebbe avere 1.9 (mi sto abituando anche sul
Mac ad usare alcune nuove features…)
Di suo là su CentOS yum installa la 1.8.7. Io però ho installato la 1.9
Darò un’occhiata ad Entreprise, visto che me la consigli.
Grazie Luca,
ciao
salvo

aiutatemi a capire una cosa (e scusate la niubbaggine, ma siamo qui per
imparare, hi).
Seguendo quello che dice David nel thread creo una app test_rails e in
app/controllers/test_rails_controller.rb ci metto qualcosa di
personalizzato (testo, data, ecc…).
Nel mio Mac funziona, con http://localhost:3000 e Mongrel parte e vedo
il mio “cgi ruby”. ok.
Se passo tutta la cartella di Rails su un server remoto e provo manca
qualcosa, perché posso solo vedere in /public la view “welcome aboard”
(e in questa stessa il collegamento per vedere l’environment dà pagina
non trovata 404…).
Sul server c’è Ruby 1.9.0, Rails installato e un C-panel che mi permette
anche di “far partire” l’app, fare un rewrite su una porta, ecc…
Ma sia se l’app è “run”, sia se non lo è, con www.sito.com/test_rails mi
dà errore, e con /www.sito.com/cartella/test_rails/public vedo la pagina
standard, ma l’unico collegamento è appunto 404…
Cosa devo controllare e attivare nel server?
Grazie!

ciao
salvo

Salvo, ti consiglio di installare ruby enterprise edition, è
sviluppato dalla stessa azienda di passenger/mod_rails, ti renderà di
sicuro la vita più facile. L’ultima release installa Ruby 1.8.7, non
so se hai esigenze particolari.

Luca

nessun consiglio?

grazie :slight_smile:

A occhio l’applicazione non parte, ma questo lo saprai già :smiley:
Quella che ti viene servita è la pagina statica /public/index.html. La
prima cosa che puoi fare è controllare se trovi qualcosa di utile nei
log su cpanel. Ora non so su che host sei, ma io con uno italiano che si
spacciava per rails ready ci ho messo 3 mesi a farmi installare
correttamente cpanel in modo che rails funzionasse. Quando hanno finito
ormai non mi serviva più.

Andrea L. wrote:

A occhio l’applicazione non parte, ma questo lo saprai già :smiley:
Quella che ti viene servita è la pagina statica /public/index.html. La
prima cosa che puoi fare è controllare se trovi qualcosa di utile nei
log su cpanel. Ora non so su che host sei, ma io con uno italiano che si
spacciava per rails ready ci ho messo 3 mesi a farmi installare
correttamente cpanel in modo che rails funzionasse. Quando hanno finito
ormai non mi serviva più.

ciao,
non ho guardato bene i log, dovrei farlo.
Sono su un host italiano su cui posso intervenire molto. L’ho trovato
configurato (ma onestamente non si sono vantati di “Rails ready” hi). Il
resto dovrei farlo io.
Appunto chiedevo lumi su come operare.
Ho provato a creare un’app con CPanel stesso, ma ovviamente fa solo una
struttura vuota, e preferirei creare tutto in locale, mettere quello che
serve e poi trasferire l’appliazione Rails già pronta…

Ah, certo mi visualizza la pagina statica, appunto. Ma mi dovrebbe
presentare un controller che ho creato io, che invece non viene
eseguito.

mod_ruby con 1.9.1 non riesco più a compilarlo (e tra l’altro yum non
trova niente per “httpd_qualcosa” richiesto come prerequisito da
mod_ruby 1.30 …), a volte poi non ho ancora capito perché anche Ruby
va a palla con l’errore “segmentation fault” e lo devo “rinfrescare” con
“make install”…
Un casotto :[

grazie, ciao