UNIVERSITA` CA` FOSCARI Laboratorio Amministrazione di Sistemi

Transcript

UNIVERSITA` CA` FOSCARI Laboratorio Amministrazione di Sistemi
UNIVERSITA' CA' FOSCARI
-VENEZIAFacoltà di Scienze Informatiche e Tecnologiche
Laboratorio Amministrazione
di
Sistemi
Installazione e Configurazione
di un web server per applicazioni in Ruby on Rails
Try2Deploy :
William Bergamo (Mat. 837675)
Tommaso Furlan (Mat. 822392)
Matteo Feltre
(Mat. 837473)
SOMMARIO
1) Introduzione
4
1.1 Introduzione..................................................................................................................................... 4
1.2 Obbiettivi del Gruppo..................................................................................................................... 4
1.3 Servizi Offerti................................................................................................................................... 4
2) Installazione del Sistema
2.1 Configurazione Macchina Virtuale .......................................................................................
2.2 Installazione Sistema Operativo ............................................................................................
3) Installazione e Configurazione servizi
3.1 Servizio SSH…...............................................................................................................................
3.1.1
3.2
3.3
Installazione pacchetto SSH............................................................................................
Installazione Server.......................................................................................................................
3.2.1
Installazione Apache2.....................................................................................................
3.2.2
Installazione MySql........................................................................................................
3.2.3
Installazione & Configurazione Ruby on Rails..............................................................
Configurazione Client..................................................................................................................
3.3.1
Installazione Ruby..........................................................................................................
3.3.2
Installazione Editor.........................................................................................................
3.3.3
Installazione Rails..........................................................................................................
3.3.4
Installare MySql e Configurare......................................................................................
4) Test del Sistema
4.1 Demo_app.........................................................................................................................................
4.1.1 Creare Demo_App su client................................................................................................
4.1.2 Trasferimento directory da client a server per fare il deploy dell'applicazione..................
5
5
7
14
14
14
16
16
16
16
17
17
18
18
18
19
19
19
22
5) Risultati ottenuti
23
6) Glossario
24
Riferimenti Sitografici
26
1 INTRODUZIONE
1.1 Introduzione
In questa guida verrà illustrato come configurare un server GNU / Linux utilizzando i servizi SSH , Apache, MySQL e
Ruby on Rails, partendo dall'installazione della macchina virtuale e del sistema operativo per proseguire poi con il test
dei servizi.
Il progetto viene realizzato per il corso Laboratorio di Amministrazione di Sistema 2012/2013 dagli studenti:
•
•
Matteo Feltre : Introduzione ed Installazione del Sistema
William Bergamo : Installazione e Configurazione Servizi
• Tommaso Furlan : Test e Risultati ottenuti
1.2 Obbiettivi di gruppo
La nostra idea è di simulare la gestione di un'azienda che offre una web application basata sul framework Ruby on
Rails. Abbiamo ipotizzato di avere un server che ospita l'applicazione, alla quale il team di sviluppatori potrà accedere
tramite SSH per caricare ed aggiornare la web application offerta dall'azienda. Configureremo interamente anche un
client per simulare il lavoro dei developers dell'azienda, che potranno cosi avere a disposizione già installati tutti gli
strumenti per lo sviluppo.
1.3 Servizi offerti
Ruby on Rails
E' un framework open source per applicazioni web scritto in Ruby basato sul pattern di sviluppo MVC. La sua filosofia
si basa sul concetto di “conventions over configurations” i suoi obiettivi sono quindi la semplicità di utilizzo e di
configurazione.
SSH
Il servizio SSH (e SCP) all'interno del nostro progetto è stato scelto per poter usufruire di una connessione remota
sicura al server aziendale, e ci permette di apportare modifiche alla configurazione del server e permette agli
sviluppatori di eseguire upload/download (tramite SCP) sicuri alla web application.
Apache
Web Server (httpd) open source sviluppato dalla Apache Software Foundation, indispensabile per il nostro progetto:
gestisce tutte le richieste HTTP e HTTPS del nostro server.
MySQL
Popolare e diffuso database relazionale open source, è utilizzato nel nostro progetto per permettere agli utenti di gestire
applicazioni web articolate che si appoggiano ad una base di dati.
2) INSTALLAZIONE MACCHINA VIRTUALE
Sistema di riferimento : Ubuntu Server 12.04
Architettura : 32bit
Difficoltà installazione : User Friendly
Configurazione Macchina Virtuale
2.1
•
Prima di iniziare , verificare di avere installato sul proprio calcolatore il software VMware vSphere. Doppio
click sull'icona e avviare il programma.
•
Nella finestra d'accesso inserire le proprie credenziali. Nel nostro caso Ip Address/Name sarà
“ammsis.dsi.unive.it”.
•
Eseguito l'accesso ci troveremo di fronte ad una schermata divisa in due , nella parte sinistra troveremo i
repository per le macchine virtuali. Nel nostro caso sceglieremo l'unica disponibile “ammsis.dsi.unive.it”
•
Cliccando col tasto destro sopra la repository scelta , selezionare “New Virtual Machine”
•
Si aprirà una finetsra per la creazione guidata della Macchina Virtuale
•
Lasciare “Typical” e cliccare su “Next>”
•
Assegnare un nome alla VM scrivendolo nel campo “Name” . Nel nostro caso il nome scelto è stato
“try2deploy-webserver” . Premere nuovamente su “Next>”
•
Selezionare il datastore in cui creare la macchina. Nel nostro caso selezioneremo l'unico disponibile
“datastore1” . Selezioneremo nuovamente “Next>”
•
Ora dovremo impostare il sistema operativo , selezioneremo “Linux” , e la versione “Ubuntu Linux (32-bit)”
dal menù a tendina sottostante. Cliccare su “Next>”
•
Nella schermata successiva bisognerà assegnare un disco virtuale , i parametri di Default andranno più che
bene (datastore1 , 8 Gb , Statico) quindi lasceremo i suddetti. Premere “Next>”
•
L'ultima pagina è il resoconto delle operazioni eseguite fin qui , per permettere una eventuale modifica in caso
di errore. Ci dovremo trovare davanti ad una schermata simile nel nostro caso :
•
Selezionare il comando “Edit Machine settings before completion”
•
Premere il tasto “Finish” per completare l'operazione.
•
Ora la macchina è stata creata con successo , ma avendo precedentemente cliccato su “edit machine settings
before completion” , si aprirà una nuova finestra su cui settare alcuni parametri “avanzati” :
nel nostro caso ci interesseremo solo del Driver di Rete , cliccheremo su “Newtwork Adapter” , selezioniamo
“rete192” dal menù a tendina sotto la voce “Network Connection”
[Si potrebbero modificare altri parametri come CPU ,RAM , Video , ecc... , ma nel nostro caso le
impostazioni di default vanno nuovamente bene]
•
Un occhio di riguardo al settaggio della RAM che dovrà essere settato almeno a 512Mb
•
Cliccare su “Ok” , e avremo finito le operazioni di creazione della VM
2.2 INSTALLAZIONE SISTEMA OPERATIVO
•
La macchina virtuale, una volta terminata l'installazione, è priva di sistema operativo e dati, quindi
procederemo all'installazione del s.o. "Ubuntu server 12.04 LTS 32 bit".
•
Dalla schermata iniziale di VSphere, dopo aver espanso la repository della Virtual Machine (VM)
"ammsis.dsi.unive.it", selezioniamo la nostra macchina virtuale (quindi nel nostro caso "try2deploywebserver") e premo il pulsante "play" verde in alto per avviare la VM.
•
Per monitorare l'avanzamento della procedura di installazione è necessario spostarsi sulla scheda "console"
di Vsphere.
•
Inizialmente verrà visualizzato il messaggio "Operating system not found"; per ovviare a questo problema è
necessario inserire un ISO del sistema operativo da installare.
•
Clicchiamo quindi sull'icona "Connect/Disconnect cd/dvd devices" posizionato sulla barra degli strumenti in
alto e successivamente sarà necessario selezionare il supporto da cui installare il s.o. dalla directory
"datastore" contenente le immagini ISO del So Confermeremo quindi l'immagine selezionando "Connect ISO
image on datastore".
Verrà avviata una procedura guidata per l'installazione del SO :
•
Nella schermata "language" selezioniamo inglese, per avere un maggior supporto.
•
Proseguiremo cliccando "Install Ubuntu server".
•
In "select a language" sarà necessario selezionare la lingua per l'installazione del sistema. Noi proseguiremo
selezionando nuovamente English
•
Proseguendo sarà necessario selezionare la propria locazione geografica, quindi nel nostro caso "Other">"Europe"->"Italy".
•
Nella scheda "Configure locals" selezionare "United States"->EN_US UTF-8
•
il prossimo passo rchiesto è la configurazione della tastiera. Il sistema cercherà di identificare
automaticamente il layout tramite la digitazione di alcuni comandi.
•
Una volta rilevato l'hw apparirà la scheda "Configure the network" dove alla richiesta di un "hostname"
abbiamo assegnato, nel nostro caso, "try2deploy"
•
Succesivamente apparirà la schermata "Setup user and password" dove verrà creato un account utilizzato al
posto dell'account "root" per attività non amministrative. Nel nostro caso useremo come username e fullname
"t2d-admin". Selezionare, quindi, "Continue" e digitare una password per l'utente appena creato.
•
Alla richiesta di cifrare la propria home directory selezioniamo <No>
•
Nella scheda successiva verrà proposto un fuso orario di default basato sulla propria locazione geografica
selezionata precedentemente, se corretta proseguire cliccando <Yes>
•
In "Partition disks" come metodo di partizionamento selezioniamo "Guided-use entire disk". In questo modo
verrà usato l'intero disco da 8 gb come unica partizione.
•
Alla scheda successiva selezioniamo il disco (l'unico disponibile) SCSI3 (0,00) (sda) - 8.6 GB VMWare Virtual
disk.
•
Confermeremo la configurazione appena impostata cliccando <Yes>
Comincerà ora l'installazione vera e propria del SO
•
nella scheda "Configure the package manager" non sarà necessario configurare un proxy, quindi proseguiamo
premendo <Continue>
•
in "Configuring tasksel" viene richiesta la modalità con cui effettuare gli aggiornamenti; essendo un server
non vogliamo che nessun aggiornamento venga fatto in automatico per avere una maggiore "reliability",
quindi selezioniamo <No autuomatic updates>
•
In "Software selection" avremmo potuto installare direttamente il package "LAMP server" in modo automatico
ma preferiamo succesivamente in modo manuale. Selezioniamo quindi "manual package selection"
•
Nella schermata successiva viene richiesto di installare in automatico "the grub bootloader" premendo <Yes>
Installazione terminata con SUCCESSO.
3)INSTALLAZIONE E CONFIGURAZIONE SERVIZI
SU SERVER
3.1 SERVIZIO SSH
3.1.1 INSTALLAZIONE PACCHETTO SSH
•
accediamo al SO e ci autentichiamo con login e password
•
da terminale digitiamo il seguente comando:
sudo apt-get install openssh-server
•
durante l'installazione del pacchetto è necessario digitare yes per proseguire con l'installazione del servizio.
(L'ssh è alla versione Openssh_5.9p1)
•
ora ci spostiamo nella cartella /etc/ssh/ con il comando
cd /etc/ssh
•
nella cartella sono presenti i file di configurazione per il demone sshd_config)
•
[WARNING] Per sicurezza è meglio copiare il file sshd_config con il comando
sudo cp sshd_config sshd_config.original
in modo tale da avere un backup in caso di problemi
•
cambiamo i permessi al file sshd_config.original (per evitare accidentali modifiche)
sudo chmod a-w sshd_config.original
•
Ora il file sshd contiene tutti i parametri di configurazione del demone ssh , per semplicità cambiamo
solamente la porta d'accesso , cambiando la linea del file sshd_config da
Port 22 a Port 2222
In modo da avere una maggior sicurezza.
•
Al termine della modifica del file sshd_config , per rendere effettive le modifche sarà necessario riavviare il
servizio ssh
sudo service ssh restart
•
Una volta fatto questo sarà possibile accedere al server dal client tramite ssh con il comando
sudo ssh t2d-admin@[indirizzo_ip] -p 2222
Installazione del pacchetto è ora terminata
3.2 INSTALLAZIONE WEB SERVER
Prima di procedere all'installazione di Rails è necessario installare i pacchetti Apache2 e MySQL in
modo da fornire un web server ed un database su cui appoggiarsi.
3.2.1 INSTALLAZIONE APACHE2
•
Da terminale digitare il seguente comando:
sudo apt-get install apache2
3.2.2 INSTALLAZIONE MySQL
•
Da terminale digitare il seguente comando:
sudo apt-get install mysql-server
•
Terminata l'installazione del pacchetto verrà richiesta una password per l'accesso. Scegliamo la password e
diamo conferma, terminando l'installazione.
3.2.3 INSTALLAZIONE & CONFIGURAZIONE RUBY ON RAILS
•
Una volta installati Apache e MySQL si può procedere all'installazione del framework Ruby on Rails. Per
installare il pacchetto relativo digitiamo da terminale il seguente comando:
sudo apt-get install rails
•
Creiamo la directory "railsapp/" (che verrà creata nella current direcoty --> /home/t2d-admin/), tramite il
comando
mkdir railsapp
•
Ci sposteremo nella directory appena creata così da procedere alla creazione di una nuova app rails di prova
cd railsapp
•
Con il comando
rails demo_app
avremo così creato una nuova applicazione ruby on rails di nome "demo_app"
•
Modifichiamo la configurazione del file /etc/apache2/sites-available/default per configurare il dominio.
•
La prima cosa da cambiare è la direttiva DocumentRoot (che dovrà contenere il path della nostra applicazione)
DocumentRoot /home/t2d-admin/railsapp/demo_app/public
•
Successivamente si dovrà cambiare la direttiva <Directory "/var/www"> con:
<Directory /home/t2d-admin/railsappdemo_app/public>
•
Bisogna anche abilitare il modulo mod_rewrite per Apache; per fare ciò digitiamo il seguente comando da
terminale:
sudo a2enmod rewrite
•
Come ultima cosa dovremo modificare gli owners delle directory/var/www/rails/public e /var/www/rails/tmp
in base all'utente utilizzato per eseguire il processo di Apache:Web Servers 200.
sudo chown -R www-data:www-data /home/t2d-admin/railsapp/demo_app/public
sudo chown -R www-data:www-data /home/t2d-admin/railsapp/demo_app/tmp
•
Ora dovremo riavviare il server apache2 per rendere effettive le modifiche apportate
sudo etc/init.d/apache2 reload
oppure
sudo service apache2 reload
Server pronto per ospitare le nostre applicazioni Ruby on Rails.
3.3 CONFIGURAZIONE CLIENT
Una volta configurato il server , abbiamo creato e configurato un sistema operativo su una seconda macchina virtuale ,
seguendo il medesimo procedimento effettuato per il server (cambia solo la .iso installata : “Ubuntu-12.10-Desktop”) ,
cosi da poter procedere con la configurazione degli strumenti per gli sviluppatori.
Per avere un ambiente funzionante , utile per sviluppare applicazioni Ruby on Rails , è necessario avere diversi
pacchetti installati alla giusta versione
3.3.1 INSTALLAZIONE RUBY
•
Installare innanzitutto “Curl” (strumento per trasferire da un Url) , con il comando
sudo apt-get install curl
•
E' fortemente raccomandato usare Ruby Version Manager (RVM) per poter gestire diverse versioni di ruby se
necessario
•
Lo installaremo con i seguenti comandi
\curl -#L https://get.rvm.io | bash -s stable -- autolibs=3 --ruby
•
Cambiamo la directory dove trovare RVM
source ~/.rvm/scripts/rvm
•
Innanzitutto useremo dei comandi per aggiornare e ricaricare rvm
•
rvm get head && rvm reload
•
Ora potremo cominciare l'installazione di Ruby 2.0.0 vera e propria
•
•
rvm install 2.0.0
Dopo aver installato Ruby , dovremo installare altri software utilizzati per avviare applicazioni rails , questo
generalmente si svolge installando le “Gems” che sono dei packages di codice ruby
Per gestire questi pacchetti è necessario installare il package manager “RubyGems” , già presente nel
pacchetto rvm , che però aggiorneremo con il comando
gem update – system 1.8.24
3.3.2 INSTALLAZONE EDITOR
•
Sarò fondamentale installare un editor per poter visualizzare il codice , noi abbiamo scelto RedCar pienamente
supportato da Ruby on Rails
•
Prima di tutto dovremo installare alcune dependencies con il comando
sudo apt-get install openjdk-6-jre
•
Successivamente
rvmsudo gem install redcar
ci permetterà di avere l'effettiva installazione dell'editor
3.3.3 INSTALLAZIONE RAILS
•
Una volta installato RubyGems l'installazione di rails dovrebbe essere semplice in quanto viene installato come
una gemma (rails infatti è un framework sviluppato in ruby)
gems install rails -v 3.2.13
[useremo questa versione poiché la più supportata dalle community online]
•
Essendo questo un sistema Linux installeremo ulteriori pacchetti necessari al funzionamento complessivo
•
•
sudo apt-get install libxslt-dev libxml2-dev libsqlite3-dev
Dovremo implementare anche la gemma execjs che ci permeterà di eseguire codice javascript tramite ruby
sudo gem install execjs
3.3.4 INSTALLARE MYSQL e CONFIGURAZIONE
•
Prima cosa installare le librerie di Mysql
•
•
sudo apt-get install libmysql-ruby libmysqlclient-dev
Installo la gemma effettiva di Mysql
•
sudo install gem mysql2
•
L'ambiente è ora pronto, ma quando si creerà una nuova applicazione sarà necessario qualche piccolo
accorgimento per collegare l'applicazione al database mysql.
N.B: Una volta che è Mysql è installato e la nostra app è creata, dobbiamo comunicare a quest' ultima di usare
il database mysql con relativa password (e non sqlite3 che è impostato di default) , modifichiamo quindi il file
di configurazione database.yml nella cartella config/ della nostra applicazione demo_app appena creata
impostando username e password del database mysql
Dal client ora è possibile creare nuove applicazioni rails con il comando
rails new [nomeapp]
all'interno di una cartella destinata al progetto rails
4
TEST SISTEMA
Ora simuleremo lo sviluppo dell'applicazione da parte dei developers dell'azienda che succesivamente dovranno
trasferire i files sul server
4.1
Creazione demo_app sul client
•
Sulla macchina client creiamo una nuova cartella “apprails” , dove creeremo una applicazione di prova
chiamata “demo_app” come quella sul server con il comando
rails new demo_app -d=mysql
dove -d=mysql viene usato per impostare in automatico mysql come database di default
•
Creiamo il nostro database in Mysql con il comando del framework
rake db:create
se tutto si è concluso regolarmente non ritornerà nulla.
•
Apriamo la console di Mysql e accediamo come “root”
•
•
mysql -u root -p
Per visualizzare i databases creati
mysql>show databases
•
Controlliamo se si sono creati demo_app_test e demo_app_development
•
Chiudiamo la console mysql
mysql>\q
•
Come test creiamo una semplice app in automatico, sfruttando quindi le potenzialità di Rails;generiamo un
modello “User” con un attributo “nome” di tipo stringa e un attributo “email” di tipo stringa. Con il comando
generate scaffold vengono in automatico creati anche il Controller e View relative agli utenti seguendo il
pattern di sviluppo MVC
rails generate scaffold User name:string email:string
•
Ora faremo un test avviando il web server locale sul client per testare l'applicazione
•
rails server
Questo avvierà un server WEBrick sulla porta 3000 , per verificare che sia tutto funzionante apriamo il
browser e digitiamo localhost:3000
•
Ora dovremo eliminare il file “index.html” nella cartella public di demo_app , come consigliato dalla
schermata d'introduzione, successivamente impostiamo come gestore di controllo della landingpage il
controller user#index modificando il file config/routes.rb , aggiungendo il comando root :to => 'users#index'
•
Dopo la modifica , riavviando il server , visualizzeremo la nostra applicazione funzionante in locale
(il form d'iscrizione)
(il nostro utente creato)
(lista utenti aggiornata)
4.2
Trasferimento directory da client a server per fare il deploy dell'applicazione
Una volta creata un'applicazione gli sviluppatori devono avere la possibilità di trasferire la propria applicazione sul
server aziendale con facilità.
•
•
Potranno quindi usare il comando da terminale
• scp -P 2222 -r apprails/demo_app [email protected]: /home/t2d-admin/railsapp
dove : scp sta per copia sicura tramite ssh
-P 2222 per connettersi alla porta 2222
-r sta per recursive e serve per copiare tutto il contenuto di una directory
-apprails/demo_app è la direcotry da copiare dal client al server
[email protected] è il server
-/home/t2d-admin/railsapp è la cartella di destinazione nel server
5) RISULTATI OTTENUTI
Dopo aver introdotto brevemente i servizi offerti , creato una guida semplice per l'installazione delle
componenti di base e della macchina virtuale , ed effettuato dei test con successo , il server per l'azienda è
funzionante.
Abbiamo quindi realizzato un sistema client-server , dove più client possono accedere tramite SSH per
scrivere, caricare, e far eseguire programmi scritti in Ruby on Rails.
La connessione eseguita tramite protocollo SSH prevede un metodo di crittografia per lo scambio delle
informazioni e l'autenticazione del server al fine di evitare minacce.
Gli utenti che accedono al server sono memorizzati all'interno di una database memorizzato nello stesso.
Abbiamo risicontrato particolari difficoltà nella configurazione del client , in quanto è stato spesso
necessario installare pacchetti aggiuntivi e librerie mancanti per far funzionare i servizi al meglio, inoltre le
macchine del nostro laboratorio non sempre perfettamente funzionanti ci hanno costretto a reperire le
versioni migliori e compatibili , per cui è stato necessario fare test anche sulle nostre macchine personali.
Dunque necessario un lavoro molto accurato di ricerca e consultazione di diverse guide per trovare
sempre la procedura di configurazione più ottimale e funzionante d'applicare.
Per rendere il tutto ancora più comprensibile abbiamo adottato una politica di spiegazioni accompagnate da
immagini e stili che aiutano l'utente nella comprensione dei vari passi del nostro tutorial.
Fondamentalmente gli obbiettivi che ci eravamo prefissare sono stati rispettati praticamente tutti !
Try2Deploy Staff
6) GLOSSARIO
Apache = è il nome dato alla piattaforma server Web modulare più diffusa. Apache è un software che realizza le
funzioni di trasporto delle informazioni, di internetwork e di collegamento, ha il vantaggio di offrire anche funzioni di
controllo per la sicurezza come quelli che compie il proxy.
Boot Loader = è il programma che, nella fase di avvio (boot) del computer, carica il kernel del sistema operativo
dalla memoria secondaria alla memoria primaria, permettendone l'esecuzione da parte del processore e il conseguente
avvio del sistema
Client = si indica una componente che accede ai servizi o alle risorse di un'altra componente detta server. In questo
contesto si può quindi parlare di client riferendosi all'hardware oppure al software.
Framework = è una struttura di supporto su cui un software può essere organizzato e progettato. Alla base di un
framework c'è sempre una serie di librerie di codice utilizzabili con uno o più linguaggi di programmazione, spesso
corredate da una serie di strumenti di supporto allo sviluppo del software, come ad esempio un IDE, un debugger, o altri
strumenti ideati per aumentare la velocità di sviluppo del prodotto finito.
Indirizzo Ip = è un'etichetta numerica che identifica univocamente un dispositivo (host) collegato a una rete
informatica che utilizza l'Internet Protocol come protocollo di comunicazione. Un indirizzo IP assolve essenzialmente a
due funzioni principali: identificare un dispositivo sulla rete e di conseguenza fornirne il percorso per la sua
raggiungibilità da un altro terminale o dispositivo di rete in una comunicazione dati a pacchetto.
.Iso = è una estensione utilizzata generalmente per immagini ISO, cioè un file che contiene l'intero contenuto di un
disco ottico (Cd o DVD) che può essere usato direttamente (tramite software di emulazione) oppure inciso su un
supporto fisico tramite il processo di masterizzazione.
Macchina Virtuale (VM) = indica un software che, attraverso un processo di virtualizzazione, crea un ambiente
virtuale che emula il comportamento di una macchina fisica ed in cui alcune applicazioni possono essere eseguite come
se interagissero con tale macchina.
MySql = è un Relational database management system (RDBMS), composto da un client con interfacciaa riga di
comando e un server
Partizione Disco = indica una suddivisione logica di un'unità di memorizzazione fisica (per esempio un disco
rigido). Le singole unità logiche vengono viste dal sistema operativo come unità separate e possono essere gestite in
modo indipendente. Su ogni disco
Root = è il nome utente predefinito dell'amministratore di sistema. Spesso vengono usati come sinonimi
amministratore,super utente o superuser. L'utente root è colui in grado di compiere operazioni non consentite agli utenti
standard.
Ruby on Rails = è un framework open source per applicazioni web scritto in Ruby . I suoi obiettivi sono la
semplicità e la possibilità di sviluppare applicazioni di concreto interesse con meno codice rispetto ad altri framework.
Il tutto con necessità di configurazione minimale.
RubyGems = è il formato dei pacchetti e il canale di distribuzione ufficiale per librerie ed applicazioni Ruby.
SSH = (Secure Shell,shell sicura) è un protocollo di rete che permette di stabilire una sessione remota cifrata tramite
interfaccia a riga di comando con un altro host di una rete informatica.
Sudo = (abbreviazione di super user do) è un programma per i sistemi operativi che permette di eseguire altri
programmi assumendo l'identità (e di conseguenza anche i privilegi) di altri utenti.
Webrick = è una libreria di Ruby che fornisce servizi server Web HTTP semplici. Il server fornisce HTTP, HTTPS
con autenticazione, configurazione di Servlet con codice Ruby, e altre caratteristiche.
Riferimenti Sitografici
www.it.wikipedia.org
http://www.ubuntu-it.org/
https://help.ubuntu.com/12.04/serverguide/serverguide.pdf