phpVirtualBox home page has been moved from google to sourceforge it is in
http://sourceforge.net/projects/phpvirtualbox/files/latest/download. You will need to install VirtualBox since it is just a front end. before you can use this app. Refer to
my guide on how you can install vbox. After you have installed vbox you will install a web server. We will use
apache2 as an example. You can either use yast2 software management to install the lamp_server pattern and some php packages or use our friend zypper.
In this setup i choose to install to a different directory than /srv/www/htdocs. So just in case something unrecoverable happens :P in my system i will not delete the directory where phpvirtuablox resides. Here i choose /data/apache2. You can put it any where you like just replace the config entry in apache2.
To install the packages using zypper
- zypper in patterns-openSUSE-lamp_server php5-soap
Create an entry for apache2
- vi /etc/apache2/conf.d/phpvirtualbox.conf
The only thing you need to replace to meet your setup is
/data/apache2 the rest is as-is.
Alias /phpvirtualbox /data/apache2/phpvirtualbox
<Directory /data/apache2/phpvirtualbox>
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Unpack that zip file using unzip into /data/apache2.
- unzip phpvirtualbox-"$version".zip -d /data/apache2/ && cd /data/apache2
Rename that file to just phpvirtualbox
- mv -v phpvirtualbox-"$version" phpvirtualbox && cd phpvirtualbox
Now rename the php file
- mv config.php-example config.php
Edit that config.php file and put the name of the user which uses virtualbox and the corresponding line and do it like this.
var $username = 'jetchisel';
var $password = 'mypassword';
- var $ location = 'http://127.0.0.1:18083';
- var $consoleHost = 'IP ADDRESS OF YOUR COMPUTER';
Create an file called virtualbox in /etc/default and put something like this.
VBOXWEB_USER=jetchisel
Set permissions as root run the following commands.
- chgrp -Rv vboxusers /data/apache2/phpvirtualbox
- chmod -Rv 775 /data/apache2/phpvirtualbox
Edit that config.php file, un comment out the following.
var $startStopConfig = true;
var $enableAdvancedConfig = true;
For the deprecated system V. Download the vboxinit for SuSE.
- wget https://raw.github.com/Jetchisel/vboxinit/master/sysV-vboxinit -O vboxinit
copy the script to /etc/init.d
- cp -v vboxinit /etc/init.d/vboxinit
set permission.
- chmod u+rx /etc/init.d/vboxinit
Enable init script.
Check the script if it is working
- /etc/init.d/vboxinit {start|stop|restart|status}
Enable the init scripts at boot time.
- chkconfig vboxweb-service on
Restart the init scripts as root run the following.
- service vboxautostart-service restart
- service vboxweb-service restart
For SYSTEMD Download the systemd version for SuSE.
- wget https://raw.github.com/Jetchisel/systemd-vboxinit/master/systemd-vboxinit
You can save it to any place you want even in /home/user/bin. In this example i choose to put in to /usr/lib/systemd/
- cp -v systemd-vboxinit /usr/lib/systemd
Set permissions
- chmod ug+x /usr/lib/systemd/systemd-vboxinit
- chgrp vboxusers /usr/lib/systemd/systemd-vboxinit
Create a systemd unit "vboxvmservice.service" (or any name that suits you)
inside /usr/lib/systemd/system and add the entry below: Replace "
username " with the user that belongs to the vboxusers group.
[Unit]
Description=VBox Virtual Machine Service
Requires=systemd-modules-load.service
After=systemd-modules-load.service
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
User=username
Group=vboxusers
KillMode=none
StandardOutput=syslog+console
EnvironmentFile=/etc/default/virtualbox
ExecStart=/usr/lib/systemd/systemd-vboxinit start
ExecStop=/usr/lib/systemd/systemd-vboxinit stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
If you choose to save the systemd-vboxinit script in another path and not /usr/lib/systemd then you need to adjust the following entry.
- ExecStart=/path/to/file/systemd-vboxinit start
- ExecStop=/paht/to/file/systemd-vboxinit stop
Start that newly created unit.
- systemctl start vboxvmservice.service
Enable the service at boot time.
- systemctl enable vboxvmservice.service
Enable the init scripts;
- systemctl enable vboxweb-service.service
Start and enable apache2.
- systemctl start apache2.service
- systemctl enable apache2.service
In your browser type the url below:
First log in:
After a log in you can add a user that can handle your vms.
Configure vms in phpvirtualbox's graphical menu. - Settings --> General --> Basic --> "StartupMode --> Automatic"
An example of running vms at boot.
Checking the status of your unit after booting.
Zip file from github:
https://github.com/Jetchisel/systemd-vboxinit/archive/master.zip You can search
phpvirtualbox for an rpm package of this in OBS.
Kudos to Mr. Ian Moore the author of phpvirtuabox.