Headless Virtualbox running on Ubuntu 12.04 server
http://www.howtoforge.com/phpvirtualbox-running-virtual-machines-with-virtualbox-4.2-and-phpvirtualbox-on-a-headless-ubuntu-12.04-server
http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.1-on-a-headless-ubuntu-12.04-server
http://www.howtoforge.com/managing-a-headless-virtualbox-installation-with-phpvirtualbox-on-nginx-ubuntu-12.04
/etc/apt/sources.list.d/virtualbox.list
deb http://download.virtualbox.org/virtualbox/debian precise contrib
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -
apt-get update
apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.3 dkms
wget http://download.virtualbox.org/virtualbox/4.3.10/Oracle_VM_VirtualBox_Extension_Pack-4.3.10-92957.vbox-extpack
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.10-92957.vbox-extpack
useradd -d /home/vbox -m vbox
passwd vbox
adduser vbox vboxusers
/etc/default/virtualbox
VBOXWEB_USER=vbox
update-rc.d vboxweb-service defaults
phpvirtualbox in Nginx
apt-get install nginx php5-common php5-mysql php5-suhosin php5-fpm php-pear wget
/etc/nginx/sites-available/virtualbox.conf
server {
listen 80;
server_name virtualbox.example.org;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name virtualbox.example.org;
client_max_body_size 15M;
ssl on;
ssl_certificate /etc/ssl/private/example_org.crt;
ssl_certificate_key /etc/ssl/private/example_org.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
root /usr/share/nginx/www/phpvirtualbox;
index index.php index.html index.htm;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
access_log /var/log/nginx/virtualbox/access.log;
error_log /var/log/nginx/virtualbox/error.log;
}
cd /usr/share/nginx/www
wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-1.zip
unzip phpvirtualbox-4.3-1.zip
mv phpvirtualbox-4.3-1 phpvirtualbox
cd /usr/share/nginx/www/phpvirtualbox/
cp config.php-example config.php
/usr/share/nginx/www/phpvirtualbox/config.php
var $username = 'vbox';
var $password = 'the password you used when you created vbox user';
cd /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/virtualbox.conf /etc/nginx/sites-enabled/virtualbox.conf
nginx -t
service nginx reload
Login to phpVirtualbox
https://virtualbox.example.org/
user: admin
default password: admin
new password: pick your own
Create VM from command line
VBoxManage --help
Create an Ubuntu 12.04 Server VM with 512MB memory and a 10GB hard drive from the Ubuntu 12.04 Server iso image:
$ VBoxManage createvm --name "Ubuntu 12.04 Server" --register
$ VBoxManage modifyvm "Ubuntu 12.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_12_04_Server.vdi --size 10000
$ VBoxManage storagectl "Ubuntu 12.04 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_12_04_Server.vdi
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-12.04-server-amd64.iso
Importing an existing VM
VBoxManage registervm Machines/examplevm/examplevm.xml
Starting a VM with VBoxHeadless
VBoxHeadless --startvm "Ubuntu 12.04 Server"
Stop a VM
VBoxManage controlvm "Ubuntu 12.04 Server" poweroff
Pause a VM
VBoxManage controlvm "Ubuntu 12.04 Server" pause
Reset a VM
VBoxManage controlvm "Ubuntu 12.04 Server" reset