Grazie alla potenza degli ultimi PC in circolazione, specialmente con l’avvento del multicore, la possibilità di creare e gestire delle macchine virtuali è ormai alla portata di tutti: così da non essere più obbligati a creare una nuova partizione sul nostro disco per poter provare un nuovo sistema operativo, oppure testare una determinata configurazione o, infine, provare programmi che non sono compatibili con il nostro s.o. o che non vanno d’accordo con la nostra configurazione.

In particolare Oracle, dopo l’acquisto di Sun, mette a disposizione un utilissimo, e gratuito, programma per la virtualizzazione dei pc: Virtual Box. Questo programma, giunto ormai alla versione 3.2.10, è disponibile per tutte le piattaforme (Windows, Linux, Mac OS e Solaris) e con il tempo è divenuto un ottimo concorrente del più blasonano VMware.

In questo articolo non parleremo di come creare una macchina virtuale con VirtualBox: un operazione piuttosto semplice e ben dettagliata in fin troppi blog( se necessitate non esitate a chiedere lasciando un commento a questo articolo ) bensì parleremo di come poter visualizzare delle pagine web hostate su un webserver virtualizzato su una macchina virtuale creata con Virtual Box.

Un grosso problema nella gestione delle macchine virtuali con virtual box è che le macchine virtualizzate dispongono dello stesso ip di rete della macchina fisica che le ospita rendendoci impossibile visualizzare le pagine web che il nostro web server virtualizzato è in grado di generare.

La soluzione più rapida ed indolore per poter visualizzare all’esterno della macchina virtuale le nostre pagine WEB è utilizzare la tecnica del Port Forwarding(o tunneling) che consiste nel trasferimento di dati fra un computer ed un altro attraverso una specifica porta. Nel nostro caso dovremmo trasferire i dati trasmessi tramite la porta 80 (quella dedicata ai servizi HTTP) ad una qualsiasi altra porta non utilizzata (es: 8000).

Per poter fare ciò su Virtual Box è molto semplice. Entrate nella cartella di Virtual Box dove sono ospitate le nostre macchine virtuali. Fra le tante cartelle ne troverete una con il nome della vostra macchina virtualizzata ed all’interno di essa un file .XML con lo stesso nome. Apritelo ed inserite la stringa sottoriportata all’interno del tag <ExtraData></ExtraData>

<ExtraDataItem name=”VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort” value=”80″/>
<ExtraDataItem name=”VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort” value=”8000″/>
<ExtraDataItem name=”VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol” value=”TCP”/>

Questi tre comandi xml faranno in modo che tutti i dati trasmessi dalla porta 80 del pc virtualizzato saranno disponibile sulla porta 8000 del pc host. A questo punto sarà sufficente aprire un browser qualsiasi e digitare http://ippchost:8000/ per veder visualizzate le pagine web generate dal nostro web server virtualizzato.

Advertisements