Learn how to install VirtualBox on CentOS 7 with our comprehensive guide. Follow step-by-step instructions to set up and configure VirtualBox efficiently on your CentOS 7 system. #centlinux #linux #virtualbox
Table of Contents
What is VirtualBox?
VirtualBox is a free and open-source hypervisor, developed by Oracle Corporation. VirtualBox supports all popular operating system platforms. VirtualBox is also used as the Provider for Vagrant, a server orchestration software.
What is phpVirtualBox?
phpVirtualBox is a web interface for administration of VirtualBox servers. phpVirtualBox is a free and open source web application. phpVirtualBox is written in PHP thus requires a Web Server with PHP language support for deployment.

Environment Specification
We have configured a CentOS 7 virtual machine with following specifications.
- CPU – 3.4 Ghz (2 cores)
- Memory – 2 GB
- Storage – 20 GB
- Operating System – CentOS 7.6
- Hostname – virtualbox-01.example.com
- IP Address – 192.168.116.185/24
If you’re serious about leveling up your Linux skills, I highly recommend the Linux Mastery: Master the Linux Command Line in 11.5 Hours by Ziyad Yehia course. It’s a practical, beginner-friendly program that takes you from the basics to advanced command line usage with clear explanations and hands-on exercises. Whether you’re a student, sysadmin, or developer, this course will help you build the confidence to navigate Linux like a pro.
👉 Enroll now through my affiliate link and start mastering the Linux command line today!
Disclaimer: This post contains affiliate links. If you purchase through these links, I may earn a small commission at no extra cost to you, which helps support this blog.
Install VirtualBox on CentOS 7
Connect with virtualbox-01.example.com using ssh as root user.
Install VirtualBox prerequisite packages using yum command.
yum install -y kernel-devel-$(uname -r) kernel-headers gcc make perl wgetThe vboxdrv.service requires same kernel-devel modules as of running Kernel. Otherwise, after installation vboxdrv.service will throw errors. Therefore, we have used $(uname -r) with above yum command
VirtualBox is distributed via its own yum repository. Therefore, we have to install VirtualBox yum repository first and then we will be able to install VirtualBox on CentOS 7.
Download and add VirtualBox yum repository in our Linux server.
wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repoBuild cache for VirtualBox yum repository.
yum makecache fastOutput:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp3.isra.edu.pk
* extras: ftp3.isra.edu.pk
* updates: ftp3.isra.edu.pk
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
virtualbox/7/x86_64/signature | 181 B 00:00
Retrieving key from https://www.virtualbox.org/download/oracle_vbox.asc
Importing GPG key 0x98AB5139:
Userid : "Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>"
Fingerprint: 7b0f ab3a 13b9 0743 5925 d9c9 5442 2a4b 98ab 5139
From : https://www.virtualbox.org/download/oracle_vbox.asc
Is this ok [y/N]: y
virtualbox/7/x86_64/signature | 2.9 kB 00:05 !!!
virtualbox/7/x86_64/primary_db | 130 kB 00:01
Metadata Cache Created
Now we can install VirtualBox on CentOS 7 by using yum command.
yum install -y VirtualBox-6.0.x86_64vboxdrv.service is automatically enabled and started by VirtualBox installation process.
Check status of vboxdrv.service.
systemctl status vboxdrv.serviceOutput:
â vboxdrv.service - VirtualBox Linux kernel module
Loaded: loaded (/usr/lib/virtualbox/vboxdrv.sh; enabled; vendor preset: disabled)
Active: active (exited) since Mon 2019-07-15 21:38:55 PKT; 53s ago
Process: 33168 ExecStart=/usr/lib/virtualbox/vboxdrv.sh start (code=exited, status=0/SUCCESS)
Jul 15 21:38:55 virtualbox-01.example.com systemd[1]: Starting VirtualBox Lin...
Jul 15 21:38:55 virtualbox-01.example.com vboxdrv.sh[33168]: vboxdrv.sh: Star...
Jul 15 21:38:55 virtualbox-01.example.com systemd[1]: Started VirtualBox Linu...
Hint: Some lines were ellipsized, use -l to show in full.
VirtualBox 6.0 has been installed on our CentOS 7 server.
Install VirtualBox Extension Pack on CentOS 7
VirtualBox is splitted into two components.
- Base Package
- Extension Packs
We have already installed VirtualBox Base Package above. Now, we are installing VirtualBox Extension Pack to extend the functionality of VirtualBox software.
VirtualBox Extension Pack is available at VirtualBox Official Download Page. It consist of a single universal package that supports all platforms.
We are downloading it using wget command.
cd /tmp
wget https://download.virtualbox.org/virtualbox/6.0.8/Oracle_VM_VirtualBox_Extension_Pack-6.0.8.vbox-extpackInstall VirtualBox Extension Pack using VBoxManage command.
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.0.8.vbox-extpackOutput:
Do you agree to these license terms and conditions (y/n)? y
License accepted. For batch installation add
--accept-license=56be48f923303c8cababb0bb4c478284b688ed23f16d775d729b89a2e8e5f9eb
to the VBoxManage command line.
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".
VirtualBox Extension Pack have been successfully installed on CentOS 7 server.
Configure vboxweb-service on CentOS 7
phpVirtualBox admin communicate to our VirtualBox server using vboxweb-service. Therefore, we have to configure vboxweb-service before installing phpVirtualBox.
Create a user that will run the vboxweb-service process.
useradd vbox
passwd vboxCreate a configuration file for vboxweb-service.
echo "VBOXWEB_USER=vbox" > /etc/default/virtualbox
echo "VBOXWEB_HOST=localhost" >> /etc/default/virtualboxRestart vboxweb-service.
systemctl restart vboxweb-service.serviceAllow vboxweb-service port in Linux firewall.
firewall-cmd --permanent --add-port=18083/tcp
firewall-cmd --reloadInstall phpVirtualBox on CentOS 7
phpVirtualBox is a PHP based web application. Therefore, it can be deployed on a web server with PHP language support.
We are installing Apache HTTP server and PHP 5.4 along with other required packages using yum command.
yum install -y httpd php php-soap php-xmlEnable and start Apache service.
systemctl enable httpd.service
systemctl start httpd.serviceAllow HTTP service in Linux firewall.
firewall-cmd --permanent --add-service=http
firewall-cmd --reloadphpVirtualBox is free and open source web interface for VirtualBox. It is available at Github.
cd /tmp
wget https://github.com/phpvirtualbox/phpvirtualbox/archive/master.zipExtract master.zip file to Apache document root.
unzip master.zip -d /var/www/html/Rename /var/www/html/phpvirtualbox-master directory for easy accessibility.
mv /var/www/html/phpvirtualbox-master /var/www/html/phpvirtualboxRename phpVirtualBox configuration file as follows.
mv /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.phpObtain the username and password defined in config.php file.
grep -e $username -e $password /var/www/html/phpvirtualbox/config.phpOutput:
var $username = 'vbox';
var $password = 'pass';
The above values must match with the OS user vbox, that we have created above.
We have already created the OS user with the same username and password, otherwise you have to edit config.php to match it.
(Note: We are using an easy password for the sake of simplicity, but you are recommended to set a strong password here.)
Set SELinux boolean, so the Apache can access other network services.
setsebool -P httpd_can_network_connect onAccess phpVirtualBox Web UI
Browse URL http://virtualbox-01.example.com/phpvirtualbox/ in a client’s browser.

Login with phpVirtualBox default username/password (i.e. admin/admin).

After login phpVirtualBox web interface may display a compatibility warning and advise us to install a latest version of phpVirtualBox.
Since, we are already installing the latest version of phpVirtualBox therefore, we have no other option to ignore this warning until a new version of phpVirtualBox is available.

We are now at the Dashboard of the phpVirtualBox web interface.
Click on New to create a new virtual machine.

Provide virtual machine name and select operating system thereon and click on Next >>.

Set memory size and click on Next >>.

Select hard disk setting and click on Create.

Select hard disk file type and click on Next >>.

Select Storage on physical disk and click on Next >>.

Select file location and size and click on Next >>.

Virtual machine has been created successfully.
One last thing is to change the default password of admin user.
Click on File > Change Password.

Set a strong password for admin user.
We have successfully installed VirtualBox and phpVirtualBox on CentOS 7 server.
Final Thoughts
Installing VirtualBox on CentOS 7 enables you to create and manage virtual machines easily, providing a flexible environment for testing, development, and learning. In this guide, we covered adding the necessary repositories, installing VirtualBox, and setting up the kernel modules required for smooth operation.
With VirtualBox successfully installed, you now have a powerful virtualization tool at your fingertips. Make sure to keep VirtualBox and your system updated to take advantage of the latest features, performance improvements, and security patches.
Struggling with AWS or Linux server issues? I specialize in configuration, troubleshooting, and security to keep your systems performing at their best. Check out my Freelancer profile for details.

Leave a Reply
Please log in to post a comment.