Following on from my previous guide VirtualBox admin using phpVirtualBox, Smart Guide Pty Ltd have taken over support and released a new version 🙂
This guide explains how you can run administer VirtualBox 5.2 on a headless Ubuntu server. Normally you use the VirtualBox GUI to manage your virtual machines, but a server does not have a desktop environment.
1. Preliminary:
– Install your server environment (I chose Ubuntu)
– Install VirtualBox 5.2 (VirtualBox 5.2 on Ubuntu 17.10)
2 Start VirtualBox Web Services
Create the file /etc/default/virtualbox and put the line VBOXWEB_USER=vbox in it (so that the VirtualBox SOAP API which is called vboxwebsrv runs as the user vbox):
echo '# virtualbox defaults file' | sudo tee /etc/default/virtualbox
echo 'VBOXWEB_USER=vbox' | sudo tee -a /etc/default/virtualbox
Next create the system startup links for vboxwebsrv and start it:
sudo systemctl enable vboxweb-service
sudo systemctl start vboxweb-service
3 Install Apache2
We need a web server with PHP support to serve phpVirtualBox. Install Apache and PHP as follows:
sudo apt -y install apache2 libapache2-mod-php7.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libapr1 php7.1-common php7.1-mysql php7.1-soap php-pear wget
Restart Apache:
sudo systemctl restart apache2.service
4 Download and configure phpvirtualbox
cd /usr/share/
sudo git clone https://github.com/phpvirtualbox/phpvirtualbox.git
cd phpvirtualbox
sudo cp config.php-example config.php
Edit config.php:
– update username/password to match headless system user already created
– set Display guest additions version of a running VM on its Details tab to true
– Enable startup / shutdown configuration.
– Enable advanced configuration items
Copy site details to Apache2
sudo cp phpvirtualbox.conf /etc/apache2/conf-available/
Modify Apache configuration to allow remote connections:
sudo vi /etc/apache2/conf-available/phpvirtualbox.conf
– Comment out the line “Require local” (line 11)
– Also at the time of my installation there is a bug in the config file, change line 6 to read “DirectoryIndex index.html”
Enable the phpVirtualBox web site:
sudo a2enconf phpvirtualbox
Restart Apache2:
sudo service apache2 reload
4. Clean up and reboot
As good practice I always update and clean up before rebooting when installing new software
sudo apt update && sudo apt upgrade
sudo apt clean && sudo apt autoclean && sudo apt autoremove
sudo reboot now
5. Check the system
That’s it already – you can now open a browser and access phpVirtualBox as follows:
eg: http://host.lab.local/phpvirtualbox/
or By IP:
eg: http://192.168.1.1/phpvirtualbox/
Default logon is admin:admin
6. Change password:
File Menu -> Change Password