Headless Virtual Box på Ubuntu
Indholdsfortegnelse
Installer VirtualBox
redigér apt sources og tilføj virtualbox repository:
sudo nano /etc/apt/sources.list
tilføj:
deb http://download.virtualbox.org/virtualbox/debian precise contrib
download VirtualBox public key og installer den:
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
opdatér databasen:
sudo apt-get update
og installér VirtaulBox:
sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.2 dkms
(dkms pakken sikrer at VirtualBox's host kernel moduler opdateres hvis Linux kernel versionen ændres.)
for at kunne tilslutte vha. fjernskrivebord, skal VirtualBox udvidelsespakke installeres.
hent den tilhørende udvidelsespakke fra dette link: https://www.virtualbox.org/wiki/Downloads og installér den:
wget http://download.virtualbox.org/virtualbox/4.2.4/Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack
tilføj en bruger, der skal køre VirtualBox
sudo adduser vboxuser sudo adduser vboxuser vboxusers
VirtualBox er nu installeret og klar til bug.
Tilføj en virtuel maskine
for hjælp skriv:
VBoxManage --help
log ind som vboxuser:
su vboxuser cd ~
i dette eksempel laves en Windows XP lite med 1GB ram og 10GB harddiskplads. (image-filen ligger i /home/vboxuser/WinXP_Small.iso)
VBoxManage createvm --name "Windows XP Lite" --register VBoxManage modifyvm "Windows XP Lite" --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0 VBoxManage createhd --filename WindowsXP_Lite.vdi --size 10000 VBoxManage storagectl "Windows XP Lite" --name "IDE Controller" --add ide VBoxManage storageattach "Windows XP Lite" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium WindowsXP_Lite.vdi VBoxManage storageattach "Windows XP Lite" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium WinXP_Small.iso
maskinen kan nu startes:
VBoxHeadless --startvm "Windows XP Lite"
log på maskinen vha. fjernskrivebord (gør det hurtigt for at fange boot-up)
maskinen kan styres således:
VBoxManage controlvm "Windows XP Lite" pause VBoxManage controlvm "Windows XP Lite" reset
Installer VboxTool
installer unzip
sudo apt-get install unzip
Installer vboxtool http://vboxtool.sourceforge.net/
hent seneste version (ver. 0.5 2012-05-01) og pak den ud.
wget http://freefr.dl.sourceforge.net/project/vboxtool/vboxtool/0.5/vboxtool-0.5.zip unzip -d vboxtool vboxtool-0.5.zip
kopiér main scriptet vboxtool til /usr/local/bin/ og gør det eksekvérbart
sudo cp vboxtool/script/vboxtool /usr/local/bin/ sudo chmod +x /usr/local/bin/vboxtool
kopiér init scriptet vboxtoolinit til /etc/init.d/ og gør det eksekvérbart
sudo cp vboxtool/script/vboxtoolinit /etc/init.d/ sudo chmod +x /etc/init.d/vboxtoolinit
aktivér init scriptet
sudo update-rc.d vboxtoolinit defaults 99 10
for at fjerne vboxtoolinit fra autostart, kør følgende: sudo update-rc.d -f vboxtoolinit remove
lav en mappe /etc/vboxtool
sudo mkdir /etc/vboxtool
lav en konfigurationsfil
sudo nano /etc/vboxtool/machines.conf
skriv <session-name>,<VRDP-port> i filen, hvor <session-namez> er navnet på den virtuelle maskine, der skal styres og <VRDP-port> er den remote desktop port den kører (dette kan være tomt).
"Windows 7 32bit",3389
lav endnu en konfigurationsfil
sudo nano /etc/vboxtool/vboxtool.conf
og skriv vbox_user='<user name>', hvor <user name> er brugernavnet på den bruger, der kører Virtualbox.
vbox_user='vboxuser'
Installer phpVirtualBox
For at kunne styre VirtualBox fra en browser kan phpVirtualBox installeres.
gå til webserver roden og lav en mappe til phpVirtualBox:
cd /var/www/html sudo mkdir virtualbox cd virtualbox
hent pakken og pak den ud(brug den version der passer til installationen):
sudo wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.2-4.zip sudo unzip phpvirtualbox-4.2-4.zip
omdøb config.php-example til config.php og editér den:
sudo mv config.php-example config.php sudo nano config.php
in config.php ændres username og password:
var $username = 'vboxuser'; var $password = 'password for vboxuser';
servicen startes:
sudo service vboxweb-service start
VirtualBox laver et init script (/etc/init.d/vboxweb-service) som kan bruges til at starte og stoppe vboxwebsrv. For at vboxweb-service kan starte vboxwebsrv, skal /etc/default/virtualbox filen findes.
lave denne fil:
sudo nano /etc/default/virtualbox
i denne fil skal der som et minimum være følgende (brugernavnet skal være det samme som kører VirtualBox maskinen):
VBOXWEB_USER=vboxuser
Hvis vboxwebsrv ikke kører på samme server som webserveren, skal VBOXWEB_HOST udfyldes med IP-adressen på webserveren.
følgende indstillinger kan laves i denne fil:
Indstilling | Beskrivelse |
---|---|
VBOXWEB_USER | The user as which vboxwebsrv will run. |
VBOXWEB_HOST | The host to bind to (localhost). |
VBOXWEB_PORT | The port to bind to (18083). |
VBOXWEB_TIMEOUT | Session timeout in seconds; 0 = disable timeouts (300). |
VBOXWEB_CHECK_INTERVAL | Frequency of timeout checks in seconds (5). |
VBOXWEB_THREADS | Maximum number of worker threads to run in parallel (100). |
VBOXWEB_KEEPALIVE | Maximum number of requests before a socket will be closed (100). |
VBOXWEB_LOGFILE | Name of file to write log to (no file). |
VBOXWEB_DIR | The location of the vboxwebsrv binary (/usr/lib/virtualbox). |
når denne fil er oprettet, kan vboxwebsrv startes og stoppes:
/etc/init.d/vboxweb-service start /etc/init.d/vboxweb-service stop
opret en virtual server (gøres nemmest i Webmin). og åbn siden i en browser (editér hosts filen på klientmaskinen hvis det er nødvendigt).
Installer Guest additions
Når windows installationen er fuldført, kan Guest Additions installeres.
hent den pakke, der passer til installationen her: http://download.virtualbox.org/virtualbox/
wget http://download.virtualbox.org/virtualbox/4.1.22/VBoxGuestAdditions_4.1.22.iso
gå til webinterfacet og mount iso filen.
i den virtuelle maskine skulle cd'en være synlig. kør CD'en og følg instruktionerne.