Generally speaking, if it is a web-based tool that starts with “php” (such as phpMyAdmin or phpLDAPadmin) you know that tool is going to make your administrative life a lot easier. Such is the case with a php-based tool created to help you manage all of your VirutalBox VMs from a single tool, from anywhere (so long as said “anywhere” is accessible from, you guessed it, anywhere).
I do use VirtualBox and was thrilled to come across phpVirtualBox. This tool is an AJAX implementation of the familiar VirtualBox user interface, so the minute you log in you will be instantly at home. Let’s take a look at how this tool is installed and used.
- Start / Stop VMs
- Save State
- Discard State
- Power Off
- ACPI Sleep
- ACPI Shutdown
- Take Snapshot
- Delete Snapshot
- Restore Snapshot
- View VM Log files
- Configure VMs
- Excludes serial port configuration
- Excludes some display options that do not affect a headless environment
- Add media
- Full featured virtual media manager
- Create hard disk wizard
- Mount read-only media (DVD/CD and Floppy images) while VM is running
- Clone disk image
- Make disk image Immutable (read-only)
- Create virtual machine wizard
- Global networking configuration
- Add / remove / configure host-only interfaces
- Configure DHCP settings for host-only interfaces
- Import / Export Virtual Machines
- Virtual Machine Console access
- Allows specification of username / password and screen resolution
- Can be “detached” to open the VM’s console in a minimal, new browser window
- Multi-language support (requires VirtualBox >= 3.2.8)
- A web server with PHP >= 5.1.0
- A working VirtualBox installation >= 3.2.x
- One of the following web browsers:
- Firefox >= 3.6.0
- Internet Explorer >= 8
- Opera >= 10.0
- Safari >= 4.0
- Chrome >= 5.0
- Other web browsers are simply untested.
Please see the Installation wiki page for instructions on obtaining and installing phpVirtualBox.
First things first
You need to make sure you have the latest VirtualBox installed as well as the Extension Pack. You can run phpVirtualBox with the 3.x release of VirtualBox, but there are a lot more features available in the 4.x release. You can download both from the VirtualBox download page. You will also need to have the PHP Soap extension. This can be installed by searching for the package php-soap in your Add/Remove Software tool. Once you have that installed, you are then ready to install and configure the phpVirtualBox application.
You will also have to have a working Apache server on the target machine. If you do not have that, you can go ahead and do a full LAMP install (which will cover a lot of your basics).
First download the compressed installation file from the download page. Make sure you download the release that is correct for the version of VirtualBox you have installed. What you need to do is to move that file into your web server’s document root and then unpack it. When you unpack the file you will have a newly created directory /var/www/phpvirtualbox-XXX Where XXX is the release number. I highly recommend you rename that directory to just /var/www/phpvirtualbox.
After you have the file unpacked, you need to do a minor configuration. This minor configuration is in the /var/www/phpvirtualbox/config.php. NOTE: Depending upon your distribution, your document root will differ.
You really only need configure the following options:
- var $username
- var $password
Make sure the username and password are for the user that will actually run the virtualbox application (so this won’t be a root user).
You are now ready to fire up daemon. To run this simply issue the command vboxwebsrv. This will run the daemon that will allow you to log into your phpvitualbox machine. NOTE: If you are using VirtualBox 4.x you can start the daemon with the command /etc/init.d/vbweb-service. There is one catch with that, you still want to run the web service as the user that will run VirtualBox.
Open up a browser and point it to http://ADDRESS_TO_SERVER/phpvirtualbox. When you do this you will see the VirtualBox interface embedded into your web browser. You can then use VirtualBox from within that web browser as if it were on the local machine!
If you are running VirtualBox 3.x you will need to take one other step (prior to starting up the daemon). Open up your terminal window and issue the command:
VBoxManage setproperty websrvauthlibrary null
Once that command has run, you can then start up the daemon and use VirtualBox through your webbrowser.