How to install PhpVirtualBox in CentOS - Manage VirtualBox

How to install PhpVirtualBox to Manage VirtualBox From Web browser in Centos 6.x

Virtualbox is a software used for virtualization. Phpvirtualbox allows us to manage the virtualbox guest machines via web browser. So we can configure a virtualbox server with headless support by using phpvirtualbox and then the clients can be able to access the virtualbox over a same network via any type of web browser application in linux.

To install Install Virtualbox

Add the repository file to download and install virtualbox on your machine.

[root@linuxhelp ~]# vim /etc/yum.repos.d/virtualbox.repo

Append the following entry into it.

[virtualbox] 
name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox 
baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch 
enabled=1 
gpgcheck=1 
gpgkey=http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc

Next add and enable the epel repository to install the following package.

[root@linuxhelp ~]# yum install epel-release -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Determining fastest mirrors
 * base: centos.excellmedia.net
 * extras: centos.excellmedia.net
 * updates: centos.excellmedia.net
base                                                                                                                                  | 3.7 kB     00:00     
extras                                                                                                                                | 3.4 kB     00:00     
extras/primary_db                                                                                                                     |  37 kB     00:00     
updates                                                                                                                               | 3.4 kB     00:00     
updates/primary_db                                                                                                                    | 743 kB     00:01     
virtualbox                                                                                                                            |  951 B     00:00     
virtualbox/primary                                                                                                                    | 8.8 kB     00:00     
virtualbox                                                                                                                                             30/30
Resolving Dependencies
-->  Running transaction check
--->  Package epel-release.noarch 0:6-8 will be installed
-->  Finished Dependency Resolution.
.
.
.
Transaction Test Succeeded
Running Transaction
  Installing : epel-release-6-8.noarch                                                                                                                   1/1 
  Verifying  : epel-release-6-8.noarch                                                                                                                   1/1 

Installed:
  epel-release.noarch 0:6-8                                                                                                                                  

Complete!

Install the required packages for virutalbox.

[root@linuxhelp ~]# yum install gcc make patch  dkms qt libgomp kernel-headers kernel-devel fontforge binutils glibc-headers glibc-devel -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: centos.excellmedia.net
 * epel: mirror01.idc.hinet.net
 * extras: centos.excellmedia.net
 * updates: centos.excellmedia.net
.
.
.
libs.x86_64 0:1.6.1-8.1.el6    autotrace.x86_64 0:0.31.1-28.el6    cloog-ppl.x86_64 0:0.15.7-1.2.el6         
  cpp.x86_64 0:4.4.7-17.el6             ilmbase.x86_64 0:1.0.1-6.1.el6         libspiro.x86_64 0:20071029-3.1.el6  libuninameslist.x86_64 0:20080409-3.1.el6 
  libwmf.x86_64 0:0.2.8.4-25.el6_7      libwmf-lite.x86_64 0:0.2.8.4-25.el6_7  mpfr.x86_64 0:2.4.1-6.el6           ppl.x86_64 0:0.10.2-11.el6                

Complete!

Configure the environment variable to set the kernel source code for virtualbox. Before that check your kernel version.

[root@linuxhelp ~]# uname -r
2.6.32-642.1.1.el6.x86_64
[root@linuxhelp ~]# export KERN_DIR=/usr/src/kernels/2.6.32-642.1.1.el6.x86_64

Now install virtualbox by using the following command.

[root@linuxhelp ~]#  yum install VirtualBox-5.0 -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: centos.excellmedia.net
 * epel: mirror01.idc.hinet.net
 * extras: centos.excellmedia.net
 * updates: centos.excellmedia.net
Resolving Dependencies
-->  Running transaction check
--->  Package VirtualBox-5.0.x86_64 0:5.0.22_108108_el6-1 will be installed
-->  Finished Dependency Resolution
.
.
.
No precompiled module for this kernel found -- trying to build one. Messages
emitted during module compilation will be logged to /var/log/vbox-install.log.

Stopping VirtualBox kernel modules [  OK  ]
Uninstalling old VirtualBox DKMS kernel modules [  OK  ]
Trying to register the VirtualBox kernel modules using DKMS [  OK  ]
Starting VirtualBox kernel modules [  OK  ]
  Verifying  : VirtualBox-5.0-5.0.22_108108_el6-1.x86_64                                                                                                 1/1 

Installed:
  VirtualBox-5.0.x86_64 0:5.0.22_108108_el6-1                                                                                                                

Complete!

Run the following command to rebuild virtualbox kernel modules.

[root@linuxhelp ~]# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel modules                         [  OK  ]
Uninstalling old VirtualBox DKMS kernel modulesError! There are no instances of module: vboxhost
5.0.22 located in the DKMS tree.
                                                           [  OK  ]
Trying to register the VirtualBox kernel modules using DKMS[  OK  ]
Starting VirtualBox kernel modules                         [  OK  ]

Download and install virtualbox extension pack by using following commands.

[root@linuxhelp ~]# wget http://download.virtualbox.org/virtualbox/5.0.0/Oracle_VM_VirtualBox_Extension_Pack-5.0.0-101573.vbox-extpack
--2016-06-22 19:31:30--  http://download.virtualbox.org/virtualbox/5.0.0/Oracle_VM_VirtualBox_Extension_Pack-5.0.0-101573.vbox-extpack
Resolving download.virtualbox.org... 23.211.135.43, 23.211.135.42
Connecting to download.virtualbox.org|23.211.135.43|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18028050 (17M) [text/plain]
Saving to: “ Oracle_VM_VirtualBox_Extension_Pack-5.0.0-101573.vbox-extpack” 

100%[===================================================================================================================> ] 18,028,050   742K/s   in 25s     

2016-06-22 19:31:55 (694 KB/s) - “ Oracle_VM_VirtualBox_Extension_Pack-5.0.0-101573.vbox-extpack”  saved [18028050/18028050]
[root@linuxhelp ~]# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.0-101573.vbox-extpack
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed " Oracle VM VirtualBox Extension Pack" .

Create a user account for virtualbox and add the user into vboxusers group.

[root@linuxhelp ~]# useradd linuxhelp
[root@linuxhelp ~]# passwd linuxhelp
Changing password for user linuxhelp.
New password: 
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@linuxhelp ~]# usermod -G vboxusers linuxhelp

To access the virtualbox via web browser we need to install apache web server and php modules as follows,

[root@linuxhelp ~]# yum install httpd php php-devel php-gd php-common php-soap -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: centos.excellmedia.net
 * epel: mirror01.idc.hinet.net
 * extras: centos.excellmedia.net
 * updates: centos.excellmedia.net
Package httpd-2.2.15-53.el6.centos.x86_64 already installed and latest version
Resolving Dependencies
-->  Running transaction check
--->  Package php.x86_64 0:5.3.3-47.el6 will be installed
.
.
.
Dependency Installed:
  autoconf.noarch 0:2.63-5.1.el6         automake.noarch 0:1.11.1-4.el6         libXpm.x86_64 0:3.5.10-2.el6         php-cli.x86_64 0:5.3.3-47.el6        

Complete!

To install phpVirtualBox

Run the following command to download phpvirtualbox.

[root@linuxhelp ~]# wget http://heanet.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
--2016-06-22 19:33:54--  http://heanet.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
Resolving heanet.dl.sourceforge.net... 193.1.193.66, 2001:770:18:aa40::c101:c142
Connecting to heanet.dl.sourceforge.net|193.1.193.66|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4093766 (3.9M) [application/octet-stream]
Saving to: “ phpvirtualbox-5.0-5.zip” 

100%[===================================================================================================================> ] 4,093,766    529K/s   in 8.6s    

2016-06-22 19:34:03 (466 KB/s) - “ phpvirtualbox-5.0-5.zip”  saved [4093766/4093766]

[root@linuxhelp ~]# ls
anaconda-ks.cfg  Documents  install.log         Music                                                          phpvirtualbox-5.0-5.zip  Public     Videos
Desktop          Downloads  install.log.syslog  Oracle_VM_VirtualBox_Extension_Pack-5.0.0-101573.vbox-extpack  Pictures                 Templates

unzip the downloaded package by using the following command.

[root@linuxhelp ~]# unzip phpvirtualbox-5.0-5.zip 
Archive:  phpvirtualbox-5.0-5.zip
   creating: phpvirtualbox-5.0-5/
  inflating: phpvirtualbox-5.0-5/.dockerignore  
  inflating: phpvirtualbox-5.0-5/.gitignore  
  inflating: phpvirtualbox-5.0-5/CHANGELOG.txt  
  inflating: phpvirtualbox-5.0-5/config.php-example  
   creating: phpvirtualbox-5.0-5/css/
  inflating: phpvirtualbox-5.0-5/css/jquery-ui.css
.
.
.
  inflating: phpvirtualbox-5.0-5/rdpweb/swfobject.js  
  inflating: phpvirtualbox-5.0-5/rdpweb/webclient.js  
  inflating: phpvirtualbox-5.0-5/rdpweb/webclient3.html  
  inflating: phpvirtualbox-5.0-5/README.md  
  inflating: phpvirtualbox-5.0-5/recovery.php-disabled  
   creating: phpvirtualbox-5.0-5/tightvnc/
  inflating: phpvirtualbox-5.0-5/tightvnc/VncViewer.jar  
  inflating: phpvirtualbox-5.0-5/vboxinit

Execute the following command to move the extracted phpvirtualbox directory into the default document root of apache web server.

[root@linuxhelp ~]# mv phpvirtualbox-5.0-5 /var/www/html/phpvirtualbox

Copy the content of the config.php file located under /var/www/html/phpvirtualbox and then edit the file as follows,

[root@linuxhelp ~]# cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
[root@linuxhelp ~]# vim /var/www/html/phpvirtualbox/config.php

Add the username and password for the virtualbox user.

var $username = ' linuxhelp'  
var $password = ' 123'  

Now create a new file virtualbox in the location /etc/default/ and add the below mentioned entry for virtualbox user.

[root@linuxhelp ~]# vim /etc/default/virtualbox

VBOXWEB_USER=linuxhelp

Run the following command to start virtualbox web service and apache service.

[root@linuxhelp ~]# /etc/init.d/vboxweb-service start
Starting VirtualBox web service                            [  OK  ]
[root@linuxhelp ~]# service httpd start
Starting httpd:                                            [  OK  ]

Now enable the apache service to start automatically for next boot up.

[root@linuxhelp ~]# chkconfig httpd on

To Disable the selinux

[root@linuxhelp ~]# vim /etc/sysconfig/selinux

And change SELINUX to disabled.

SELINUX=disabled

Restart your system and open your browser to connect to virtualbox.

you need to enable the firewall for apache service to allow the access for your clients.


Open the browser and type http://< IP_address> /phpvirtualbox


Now login with user credentials.

Now you can access the phpvirtualbox over a network.

Tag : Php Virtualbox
FAQ
Q
What is PHP and why it is used?
A
PHP stands for Hypertext Preprocessor (no, the acronym doesn't follow the name). It is an open source, server-side, scripting language used for the development of web applications.
Q
Where is should add the repo file ?
A
you can use the following path to add repo.

/etc/yum.repos.d/
Q
How to install virtualbox on Ubuntu 18.04?
A
To install virtualbox on Ubuntu 18.04 follow this link, https://www.linuxhelp.com/how-to-install-virtual-box-5-2-12-on-ubuntu-18-04/
Q
How to install Virtualbox on linuxmint?
A
To install Virtualbox on linuxmint follow the link https://www.linuxhelp.com/how-to-install-oracle-vm-virtualbox-5-0-40-on-linux-mint-18-3/
Q
How can I install the remote virtual box?
A
To install the remote virtual box please follow this link, https://www.linuxhelp.com/how-to-install-remotebox-manage-virtualbox-vms-remotely/