Reverence from here.
Managing A Headless VirtualBox Installation With phpvirtualbox (Ubuntu 12.04)
I do not issue any guarantee that this will work for you!
1 Preliminary Note
I'm assuming that a headless VirtualBox is already installed on the local Ubuntu 12.04 server, e.g. as described in the tutorial VBoxHeadless – Running Virtual Machines With VirtualBox 4.1 On A Headless Ubuntu 12.04 Server.
I'm running all the steps in this tutorial with root privileges, so make sure you're logged in as root:
sudo su
2 Installing phpvirtualbox
Created on install side.
groupadd vboxusers
useradd -m -d /mnt/local/sda1/virtualbox virtuser -g vboxusers
First create a system user called virtuser and add it
to the vboxusers group:
useradd -m virtuser -G vboxusers
Create a password for the virtuser user:
passwd virtuser
Create the file /etc/default/virtualbox and put the line VBOXWEB_USER=virtuser in it (so that the VirtualBox SOAP API which is called vboxwebsrv runs as the user virtuser ):
vi /etc/default/virtualbox
VBOXWEB_USER=virtuser |
Next create the system startup links for vboxwebsrv and start it:
update-rc.d vboxweb-service
defaults
/etc/init.d/vboxweb-service start
We need a web server with PHP support to serve phpvirtualbox – I'm using Apache2 here. Install Apache2 and PHP5 as follows:
apt-get install apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common apache2 apache2-doc apache2-suexec libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libapr1 php5-common php5-mysql php5-suhosin php-pear wget
Restart Apache2:
/etc/init.d/apache2 restart
I want to serve phpvirtualbox from Apache's default virtual host with the document root /var/www (I will install it in /var/www/phpvirtualbox) – if you have a different document root, you must adjust the following steps:
cd /var/www
wget
http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.2-4.zip
Unzip phpvirtualbox and rename the phpvirtualbox-4.1-7 to phpvirtualbox for ease of use:
unzip phpvirtualbox-4.2-4.zip
mv phpvirtualbox-4.2-4
/var/www/phpvirtualbox/
Next go to the /var/www/phpvirtualbox/ directory…
cd /var/www/phpvirtualbox/
… and create the file config.php by copying it from config.php-example:
cp config.php-example config.php
Open config.php and fill in the password you created earlier for the virtuser system user:
vi config.php
[...] /* Username / Password for system user that runs VirtualBox */ var $username = 'virtuser'; var $password = 'secret'; [...] |
That's it already – you can now open a browser and access phpvirtualbox as follows:
http://www.example.com/phpvirtualbox/
http://fileshare-01/phpvirtualbox/
http://fileshare-99/phpvirtualbox/
IF COPING/IMPORTING, NETWORK will not work. 2 options
1. make the MAC address exactly the same as original.
2. Comment out all lines:
vi /etc/udev/rules.d/70-persistent-net.rules
The default username is admin, the password is admin as well:
This is how phpvirtualbox looks – much like the native VirtualBox GUI:
The first thing you should do is change the admin password. Go to File > Change Password:
Type in the old password and specify a new one:
If you know the native VirtualBox GUI, it's now very easy to use phpvirtualbox. For example, if you want to create a new virtual machine, you have the same wizard as you have in the VirtualBox GUI:
(I'm leaving a few sceenshots out so you don't feel bored…)
In the end you have a new VM. Click on the Start button to run that VM:
Even though phpvirtualbox is a web front-end, you still get the VM console that you know from the VirtualBox GUI – pretty cool:
3 Links
- phpvirtualbox: http://code.google.com/p/phpvirtualbox/
- VirtualBox: http://www.virtualbox.org/
- Ubuntu: http://www.ubuntu.com/