Installare e configurare una macchina virtuale server con Virtualbox

In questo tutorial vedremo come configurare Virtualbox per avere un ambiente server per i nostri test.
Nellesempio userò MacOS X 10.6 (Snow Leopard) come sistema operativo host e Ubuntu 10.04 Server come sistema operativo guest. I vari step sono però adattabili e riutilizzabili anche in configurazioni diverse. Nel caso abbiate problemi contattatemi nei commenti o su twitter.

Quello che vogliamo ottenere è una configurazione come questa:

lhost è connesso ad internet;
lhost può pingare il guest;
il guest può pingare lhost;
il guest può accedere ad internet.

Quindi entrambi i sistemi operativi accedono allesterno e possono comunicare tra di loro.
Passo 1: Installare Virtualbox

Sullinstallazione di Virtualbox non mi soffermerò. Nella pagina dei download trovate i pacchetti per i diversi sistemi operativi. Se siete sotto linux potete installarlo direttamente dai repository della vostra distribuzione.
Passo 2: Creare la macchina virtuale

Avviamo VirtualBox e creiamo una nuova macchina virtuale cliccando su Macchina > nuova.
Partirà una procedura guidata che vi chiederà alcune informazioni. Scegliete quelle che più si adattano al vostro caso. Vi do alcuni suggerimenti su come ho creato la mia:

Non allocate meno di 512 Mb di RAM, altrimenti lutilizzo della macchina virtuale sarà lentissimo.
Create il disco virtuale con lo spazio allocato dinamicamente (figura sotto) che vi permetterà di non occupare spazio inutilmente quando non è necessario.
Per quanto riguarda lo spazio da allocare al disco (figura sotto), non esagerate: su un sistema server 2 GB sono più che sufficienti per i vostri test.

Passo 3: Installare il sistema operativo guest (Ubuntu 10.04)

Installiamo ora il sistema operativo guest che, in questo esempio, è Ubuntu 10.04 server.
Andiamo alla pagina dei download e scarichiamo il file immagine (.iso) nella versione a 32 bit, altrimenti riceverete un errore quando cercherete di installarlo su una macchina virtuale.

Avviamo la macchina virtuale creata al punto 2, unaltra procedura guidata ci assisterà nel primo avvio. Nel passo 2 di questa procedura viene richiesto di scegliere il supporto per avviare linstallazione. Normalmente è il lettore CD, nel nostro caso invece dobbiamo selezionare limmagine ISO appena scaricata e poi procedere con linstallazione.

A questo punto si avvierà linstallazione del sistema operativo, sulla quale non mi soffermerò.
Passo 4: Configurare il tipo di connessione

Ora dobbiamo impostare il tipo di connessione per ottenere una configurazione come quella descritta allinizio.

Assicuriamoci che la macchina virtuale non sia avviata. Nel caso lo sia, spegniamola cliccando su Macchina > spegni.

Apriamo la schermata delle impostazioni cliccando su Macchina > impostazioni e portiamoci nella sezione rete. Dovremmo trovarci di fronte la Scheda 1. Configuriamo il tutto come nella figura che segue:

Vediamo in dettaglio le impostazioni:

Innanzitutto è necessario spuntare abilita scheda di rete altrimenti non funzionerà.
Dal menu a tendina connesso a selezionate scheda con bridge che permette la configurazione ibrida che serve a noi (macchina virtuale che comunica con lesterno e con la macchina host).
Dal menu nome dobbiamo scegliere la scheda di rete della macchina host con cui fare bridge. In questo menu è importante selezionare la scheda di rete realmente connessa ad internet. Nel mio caso era con un MacBook connesso in wireless e allora ho selezionato la scheda di rete wireless AirPort.
Fate attenzione, se non selezionate la scheda connessa ad internet il sistema operativo guest non potrà navigare verso lesterno.
Il resto delle impostazioni potete lasciarle con i valori di default. In alcuni casi potrebbe essere necessario scegliere come tipo di scheda quella in figura (Intel PRO/100 MT Desktop (82540EM)) perché sembra che con alcune configurazioni hardware le altre diano problemi.

Passo 5: Testare la comunicazione

Abbiamo finito. Adesso facciamo un test finale per assicurarci che tutto funzioni.
Avviamo la macchina virtuale e facciamo login nel sistema operativo guest. Da ora in avanti si lavora di terminale.

Dal sistema operativo guest controlliamo lindirizzo IP assegnato alla nostra macchina con il comando ifconfig eth0. Lindirizzo è quello evidenziato nella figura che segue:

Apriamo un terminale sul sistema operativo host e facciamo un ping verso lindirizzo appena visto: ping 192.168.0.102 (ovviamente dovete utilizzare lIP che è stato assegnato alla vostra macchina). Se il risultato è qualcosa del genere (figura sotto) significa che la macchina host riesce a comunicare con quella guest.

Per sicurezza assicuriamoci che il sistema operativo host riesca a comunicare con lesterno. Possiamo farlo direttamente da terminale con un ping verso google: ping google.it.

Bene, la prima parte del test è conclusa con successo. Ora controlliamo che il sistema guest riesca a comunicare con quello host e con lesterno. Controlliamo quale IP possiede la nostra macchina host, di nuovo utilizzando il comando ifconfig:

Ora che conosciamo lIP della macchina host procediamo con gli stessi due step di sopra. Ci spostiamo nel terminale della macchina guest e facciamo un ping verso il sistema host (ping 192.168.0.52) e verso lesterno (ping google.it). Se i risultati sono come quelli che seguono allora funziona tutto correttamente.

Questo è quanto!
Adesso abbiamo la nostra macchina virtuale server pronta e comunicante. Come ho detto allinizio, nel caso abbiate problemi contattatemi nei commenti o su twitter.