#LANGUAGE it <
> <> <> = Introduzione = '''Ruby on Rails''' (RoR) è un framework open source scritto in '''Ruby''', un linguaggio di scripting orientato agli oggetti che sta riscuotendo sempre più successo grazie alla sua estrema facilità di apprendimento, utilizzo e semplicità sintattica del codice scritto. '''Rails''' è un ambiente completo per lo sviluppo web che, seguendo strettamente l'architettura MVC (Model-View-Controller), fornisce strumenti semplici ed efficaci per creare complessi siti web come Content Manager, Web Blog e varie altre infrastrutture ''web-based'', con molto meno codice rispetto ad altri framework, permettendo di integrarvi le più moderne tecnologie come AJAX e Web Service. Ovviamente '''RoR''' da la possibilità di lavorare con i più diffusi database attualmente in circolazione come ad esempio '''MySQL''' o il leggerissimo '''SQLite''', giusto per citarne alcuni. = Prerequisiti = Attivare il repository '''Universe''' di Ubuntu. Consultare la pagina [[Repository]] per maggiori informazioni. = Installazione = 0. Installare '''Ruby''' seguendo le istruzioni della [[Programmazione/Ruby|seguente guida]]. 0. Installiamo il database da utilizzare per effettuare le nostre query con RoR: a. '''SQLite''', database leggero ottimo per lo sviluppo di applicazioni soprattutto in locale o per incominciare a lavorare con '''RoR''': {{{ sudo apt-get install sqlite3 libsqlite3-dev }}} a. '''MySQL''', il database più diffuso per il web: {{{ sudo apt-get install mysql-server mysql-client libmysqlclient14-dev }}} 0. Installiamo '''Rails''': a. preleviamo l'ultima versione del package Ruby``Gems che ci permetterà di installare l'ultima versione di '''Rails''' ed i relativi moduli. Al momento in cui sto scrivendo l'ultima versione è la '''0.9.1''' prelevabile al seguente indirizzo: [[http://rubyforge.org/frs/?group_id=126]]. Quindi procediamo: {{{ wget http://rubyforge.org/frs/download.php/16452/rubygems-0.9.1.tgz }}} a. estraiamo il package e spostiamoci dentro la directory appena creatasi: {{{ tar zxvf rubygems-0.9.1.tgz cd rubygems-0.9.1 }}} a. installiamo ''Rails'' e relativi moduli: {{{ sudo ruby1.8 setup.rb #sudo gem install rails --include-dependencies -y }}} L'opzione '''-y''' fa sì che vengano installate tutte le dipendenze in maniera automatica, omettendolo verrà data la possibile di scegliere quale modulo includere o meno. a. installiamo il modulo per il database scelto: {{{ sudo gem install sqlite3-ruby }}} oppure: {{{ sudo gem install mysql }}} Ci verrà chiesto la versione che desideriamo installare e per quale piattaforma.<
>Può capitare che certe volte dia un errore perchè non trova un file, basta semplicemente rilanciare il comando. È comunque importante non spostarsi mai dalla directory di installazione, in questo caso, '''rubygems-0.9.1'''. 0. testiamo il funzionamento di '''RoR''': a. digitiamo: {{{ rails }}} a. verrà creata una directory '''' e ci spostiamo dentro di essa: {{{ cd }}} a. eseguiamola: {{{ # script/server }}} a. ora basta aprire il nostro browser preferito e connetterci all'indirizzo:<
>'''''http://localhost:3000''''' Se tutto è andato per il verso giusto dovrebbe apparirci la schermata di benvenuto di Rails ed i relativi link alle varie pagine di documentazione per incominciare a sviluppare. Ora basterà solo sbizzarrirsi con il nostro nuovo framework. = Aggiornamento = Per fare l'upgrade di Rails all'ultima versione basta semplicemente scrivere: {{{ #gem update -y }}} = Considerazioni e approfondimenti = Potete notare come per accedere alla nostra applicazione '''RoR''' bisogna passare all'indirizzo http il numero '':3000'', questo perché il servizio non è accessibile mediante le comuni porte standard web, per esempio l'80 dell'HTTP, ma attraverso una propria porta alternativa, per far si che non entri in conflitto con altri possibili web server. '''Rails''' infatti, grazie a una libreria che crea dei semplici ''server multithread'', dispone già di un suo piccolo e leggero web server, che è più che sufficiente per creare e sviluppare applicazioni in locale. Tuttavia, se le vostre esigenze lo necessitano, è possibile cambiare la porta di servizio usando l'opzione ''-p ''. Il framework è in grado di funzionare con diversi web server oltre che al suo così da dare, la possibilità di mettere in produzione le nostre applicazioni su macchine host che non supportano '''Rails''' nativamente. == Apache == Su Apache ad esempio, per il quale vi rimando alla [[Server/Web|guida]], basta attivare il modulo ''mod_ruby'' già presente nello stesso Apache oppure utilizzare ''FastCGI'' procedendo nella seguente maniera: a. Abilitiamo se già non lo abbiamo fatto il modulo ''mod_rewrite'' di Apache: {{{ sudo a2enmod rewrite }}} a. Installiamo ''FCGI'' per Apache e '''Ruby''': {{{ sudo apt-get install libapache2-mod-fcgid }}} a. ''FCGI'' ora dovrebbe essere già attivo, in caso contrario: {{{ sudo a2enmod fcgid }}} a. Installiamo il modulo ''FCGI'' per '''Rails''' tramite '''gem''': {{{ sudo apt-get install build-essential libfcgi-dev sudo gem install fcgi }}} == Lighttpd == In ogni caso, un web server professionale molto in voga tra gli sviluppatori ''Rails'', per la sua leggerezza e velocità, è ''lighttpd''. Per installarlo basta semplicemente digitare: {{{ sudo apt-get install lighttpd }}} una volta installato, script/server sarà in grado di rilevarlo ed usarlo automaticamente senza nessuna configurazione. = Ulteriori risorse = * [[http://www.rubyonrails.org/]] * [[http://www.lighttpd.net/]] * [[http://www.apache.org]] ---- CategoryProgrammazione CategoryDaRevisionare