VBOX — the headless horseman

Brevity of the day:

echo VBOXWEB_USER=user > /etc/default/virtualbox
echo # VBOXWEB_HOST=127.0.0.1 >> /etc/default/virtualbox

/etc/init.d/vboxweb-service start

chkconfig vboxweb-service on

init 6

OR this:

Manage your VirtualBox VMs via the web with phpVirtualBox

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.
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).
Installing phpVirtualBox
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.
Log in
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!
Gotcha
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.

ref: http://www.torrent-invites.com/software/101718-manage-your-virtualbox-vms-via-web-phpvirtualbox.html

Special considerations:
SELinux Considerations

If SELinux is installed and you would like to keep it enabled, you may have to add a rule for vboxwebsrv.

Install semanage (yum install policycoreutils-python) and run the command below:

semanage port -a -t http_port_t -p tcp 18083

This will add the VirtualBox’s web service port (18083) to be accessible by a service running in an http context (eg. apache).
Arch Linux Considerations

In Arch Linux, be sure to edit /etc/php/php.ini, and uncomment the following lines:

;extension=json.so
;extension=soap.so

by removing the ‘;’ at the beginning of each. Then restart apache.
Suse Considerations

Due to the complex dance between VirtualBox and PAM configurations, you will have to disable authentication between vboxwebsrv and the OS by running the following command as the same user that runs VirtualBox on your system:

VBoxManage setproperty websrvauthlibrary null

Windows Considerations

phpVirtualBox’s location setting in config.php cannot be set to ‘localhost’ use 127.0.0.1 instead. E.g. http://127.0.0.1:18083/

ref: http://code.google.com/p/phpvirtualbox/wiki/Installation#SELinux_Considerations

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: