phpvirtualbox - Come gestire Virtualbox per mezzo del browser web.
Requisiti minimi:
- Un recente Pc con Windows o Linux, e collegamento internet funzionante.
- Saper scaricare ed installare programmi in Windows/Linux.
- Editare file di configurazione.
- Conoscenze di base nella creazione di Virtual Machine (da ora VM) con VirtualBox.
- Un server WEB con PHP >= 5.1.0 funzionante
- Un recente Browser Web (in questo caso Firefox >= 3.6.0)
- Gestione firewall (se attivo)
Cosa serve:
- Una macchina Windows/Linux che ospiterà tutte le nostre VM (oggetto di questa guida una macchina Windows con Seven x64)
- Un server web correttamente funzionante e configurato con l'interprete PHP (Windows/Linux, può anche non essere la macchina al punto 1)
- Il software Virtualbox per Windows/Linux (in base all'host che avete scelto, punto 1) reperibile dal sito Virtualbox, al momento della stesura di questa guida la versione corrente è la 4.1.2
- L'Extension Pack per VirtualBox 4.1.2
- phpvirtualbox, per la versione 4.1.2 reperibile da googlecode
- Editor di testo preferito, (notepad di Windows in questo caso va bene)
Procediamo:
Installiamo il software VirtualBox (in questo caso doppio clic sul file .exe) ed accertiamoci che il software funzioni correttamente creando la nostra prima VM. (per la creazione di una VM consultare la guida ufficiale) Dopo aver creato e configurato la nostra VM la stoppiamo, procediamo nell'installare l'Extension Pack, non servono particolari esperienze almeno nell'host Windows, il classico "doppio click" sul file basta per lanciare la procedura d'installazione. Dalle impostazioni di rete recuperiamo l'indirizzo IP di questo pc, se non lo ricordiamo, nel nostro caso 192.168.1.10. Ora un po' di linea di comando, aprite il prompt dei comandi: start e nel campo "Cerca programma o file" digitate "cmd" seguito dal tasto INVIO, si aprirà una finestra nera, il nostro prompt; digitiamo
cd "C:\Program Files\Oracle\VirtualBox>"
per sposterci nella directory.
Ora eseguiamo il comando VBoxWebSrv.exe con l'opzione -H seguita dall'indirizzo IP [VBoxWebSrv.exe -H 192.168.1.10 e premiamo invio,] l'opzione -H permette la connessione se il server nel quale carichiamo phpvirtualbox differisce da questa macchina; la porta in ascolto è la 18083, se non abbiamo esigenze particolari possiamo mantenere questa, altrimenti utilizziamo anche l'opzione -p e specifichiamo una porta a nostra scelta.
Passiamo a phpvirtualbox, scompattiamo l'archivio, entriamo nella directory ed eseguiamo una copia del file "config.php-example", poi lo rinominiamo in "config.php", lo editiamo con il nostro editor preferito e apportiamo le seguenti modifiche:
(dalla riga 10 alla 12) Inserire il nome utente e la password del sistema in cui gira VirtualBox (in pratica il nostro pc windows)
/* Username / Password for system user that runs VirtualBox */
var $username = 'username';
var $password = 'password';
(dalla riga 14 alla 15) inserire il vostro indirizzo IP, e cambiare la porta se è stato utilizzato lo switch -p
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
var $location = 'http://192.168.1.10:18083/';
Ci sono molte altre personalizzazioni, ma le precedenti sono il minimo per il funzionamento, lascio a voi il piacere di spulciare e cambiare a vostro piacimento il file config.php.
Fatto questo carichiamo l'intero contenuto della directory nel server web, per comodità nella directory "vbox", apriamo il browser e puntiamo all'indirizzo http://ip-mio-server-web/vbox: apparirà la schermata di login, dove le credenziali di accesso di default sono admin/admin (suggerisco di aggiornarle cambiando la password). Una volta entrati sarà visibile l'interfaccia web (simile a quella del programma installato precedentemente); prima di attivare una VM è consigliato attivare il "Remote Display" per poter vedere il desktop sempre via web, in questo modo:
tasto destro del mouse sulla VM che ci interessa personalizzare, settings, selezionare la voce "Display" > "Remote Display" > "Enable Server" poi confermare con il tasto OK A questo punto possiamo attivare la nostra VM e gestirla via WEB!
NOTE: Il firewall potrebbe bloccare la connessione in ingresso, consiglio di controllare le regole e configurarlo ad hoc.