This package is not supported in NethServer Enterprise
VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. It is freely available as Open Source Software under the terms of the GNU General Public License (GPL) version 2. Please see the official website
A web-based front-end to VirtualBox. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. Please see the github page
nethserver-virtualbox-X.X-phpvirtualbox requires nethserver-virtualbox-X.X-VirtualBox. The versions are bound togheter: nethserver-virtualbox-5.2-phpvirtualbox requires nethserver-virtualbox-5.2-VirtualBox
VirtualBox compile its modules with the latest kernel, you must have the most updated kernel and start on it at boot. If the installer cannot compile the modules, then you should reboot your server and launch again the compilation using :
Install from the Software Center or use the command line:
yum install nethserver-virtualbox-5.2-phpvirtualbox
The URL of the phpVirtualBox application can be found at https://yourdomain.com/phpvirtualbox. The default credentials are :
More information are available at the Authentication section
The application is restricted to your local network (default is
private), to enable phpVirtualBox to the external IP
config setprop phpvirtualbox access public signal-event phpvirtualbox-save
Access on an exclusive hostname¶
To make phpVirtualBox accessible with an exclusive DNS name, for example https://webmail.example.com :
In “DNS and DHCP” UI module (Hosts), create the DNS host name as a server alias (i.e. webmail.example.com)
Add the host name to
DomainNameprop list (default is ‘’):
config setprop phpvirtualhost DomainName webmail.example.com signal-event phpvirtualbox-save
phpVirtualBox attempts to look like the user interface of VirtualBox, but you can enable the
AdvancedSettings property (default is
false) and get more settings, only available by the command line
config setprop phpvirtualhost AdvancedSettings true signal-event phpvirtualbox-save
VM ownership and quota¶
The administrator users are not limited on the virtual machine quota and can manage VM of other users. The VMs are visible only to the owner, as long as the property
VMOwnerShip is to true (default is
config setprop phpvirtualhost VMOwnerShip false signal-event phpvirtualbox-save
Maximum number of VMs allowed for non admin user (default is
config setprop phpvirtualhost QuotaPerUser 10 signal-event phpvirtualbox-save
phpVirtualBox essentially has two access levels.
non-admin users. The administrator users have access to the Users section of phpVirtualBox and can add, edit, remove other users (only for the internal method). They can also perform actions that change VM group memberships and manipulate VM groups (Rename, Group, Ungroup). The administrator users are also not limited with the virtual machine quota and can manage VM of other users. The VMs are visible only by the owner, as long as the property
VMOwnerShip is set to true.
You can change the authentication method by the property
AD, default is
internal). For LDAP and AD, phpVirtualBox will connect the NethServer Account providers and grant or not the authorization to the web application.
config setprop phpvirtualbox Authentication AD signal-event phpvirtualbox-save
The default credentials are :
Once logged in the first time, you should change the default password in the menu.
In the phpvirtualbox user menu, you can create users, and set their permissions (only for the internal authentication method).
This authentication method is simple, all users from Openldap can login, but only users in the property
AdminUser are administrators (comma separated list, default is
AD (active directory)¶
This authentication method is the most complete, group based (you have to create manually the two groups in the group panel of NethServer and associate members to these groups):
vboxuserare non privilegied users
The users who do not belong to s
vboxuser groups, can’t use the phpVirtualBox web application. You can change the group name with the properties
The user who runs virtualbox is
vboxweb, a home is created (
/home/vboxweb) to store all the virtual machines (in VirtualBox VMs) and also the needed ISOs for creating your VM. The password of this user is stored in
You could open a session by ssh to download directly the ISO with wget, or push them by rsync or scp, directly from your computer. You could provide to the
vboxweb user a ssh key and open a ssh session without password.
rsync -avz XXXXXXX.iso vboxweb@IpOfServer:/home/vboxweb/ scp XXXXXXX.iso vboxweb@IpOfServer:/home/vboxweb/
Oracle VM VirtualBox Extension Pack¶
This Extension Pack provides some good features like the usb support, Virtualbox RDP, disk encryption, NVMe and PXE boot for Intel cards. It is installed by the event nethserver-virtualbox-X.X-virtualbox-update automatically (by the installation or a rpm update). The pack is relevant of the VirtualBox version, if you need to update it, then trigger the event virtualbox-save :
The RDP console¶
You could use your own RDP software client for the installations of your guests, but phpVirtualBox comes with a Flash RDP console that you could use with your browser.
The RDP console is restricted to the local network ( default is green), the ports are between
[19000-19100]. If you want to enable RDP for the external IP
config setprop phpvirtualhost accessRDP red signal-event phpvirtualbox-save
For specific needs you could specify the IP (default is ‘’) of the integrated RDP console
config setprop phpvirtualhost ipaddrRDP xxx.xxx.xxx.xxx signal-event phpvirtualbox-save
The networking side is probably the most difficult part of the virtualization, you should consult the VirtualBox Documentation
- Promiscuous way
Enable the promiscuous mode policy, select “Allow all” from the drop down list located in the network settings section.
When you want to join a virtualized W10 to the sambaAD container, bridge the guest NIC to br0 and create a script
VBoxTunctl -u root -g vboxusers -t vbox0 ifconfig vbox0 up brctl addif br0 vbox0 sudo -H -u vboxweb VBoxManage startvm VMname --type headless
You can modify the available properties of phpvirtualhost:
AdminGroup=vboxadmin # members of this group can authenticate in `AD` as administrators AdminUser=admin # User list (comma separated) of administrators that can authenticate in `LDAP` AdvancedSettings=false # Display the advanced settings in phpvirtualbox (true, false) Authentication=internal # Authentication in phpvirtualbox: internal (builtin), AD (SAMBA AD), LDAP (openldap) DomainName= # If set, a domain name or FQDN is used instead of https://server/phpvirtualbox QuotaPerUser=5 # Number maximal of VMs allowed for non admin user TCPPortsRDP=19000-19100 # RDP ports for the console RDP of phpvirtualbox (the firewall is opened) URL= # If set, the path is modified to https://server/URL UserGroup=vboxuser # members of this group can authenticate in `AD` as simple users VMOwnerShip=true # If set to true, users can see only their VM (true, false) access=private # Restric phpvirtualbox access (private, public) accessRDP=green # Access usage of the integrated RDP console (green, red) ipaddrRDP= # Set the IP of the integrated RDP console for specific need status=enabled # Enable phpvirtualbox (disabled, enabled)
config setprop phpvirtualbox accessRDP red AdvancedSettings enabled signal-event phpvirtualbox-save
The official VirtualBox documentation is available on the VirtualBox website.
The official phpVirtualbox documentation is available on the github website.