首先,需要安装一些支持工具
sudo apt install build-essential dkms php-soap unzip wget
下载 VirtualBox 安装包及扩展包
wget https://download.virtualbox.org/virtualbox/5.2.44/virtualbox-5.2_5.2.44-139111~Ubuntu~bionic_amd64.deb wget https://download.virtualbox.org/virtualbox/5.2.44/Oracle_VM_VirtualBox_Extension_Pack-5.2.44.vbox-extpack
为什么要选择5.2版本而不选择最新的版本呢,因为我们要使用phpvirtualbox web界面来管理VirtualBox的虚拟机,因为phpvirtualbox目前只有匹配5.2版本的,并且ubuntu服务器要是18.04版本的,如果是16或20的版本也会有一大堆的坑
sudo dpkg -i virtualbox-5.2_5.2.44-139111~Ubuntu~bionic_amd64.deb sudo apt --fix-broken install ##修复安装
重新执行 上一个命令
sudo dpkg -i virtualbox-5.2_5.2.44-139111~Ubuntu~bionic_amd64.deb
安装完成后,运行systemctl命令来查看virtualbox内核模块是否已经加载
sudo systemctl status vboxdrv #如果有问题请确定以下几点
1.添加当前用户到 VirtualBox 组
我们需要去创建并添加我们的系统用户到 vboxusers 组中。你也可以单独创建用户,然后将它分配到 vboxusers 组中,也可以使用已有的用户。我不想去创建新用户,因此,我添加已存在的用户到这个组中。请注意,如果你为 virtualbox 使用一个单独的用户,那么你必须注销当前用户,并使用那个特定的用户去登入,来完成剩余的步骤。
我使用的是我的用户名 sk,因此,我运行如下的命令将它添加到 vboxusers 组中。
sudo usermod -aG vboxusers sk
2.运行脚本来启动vboxdrv
sudo bash /usr/lib/virtualbox/vboxdrv.sh restart 来控制 vboxdrv 的状态,启动停止重新加载等 如果这条命令运行有问题,那么请检查编译环境 build-essential 是否安装
3. 在/ etc / default / virtualbox中添加(如果没有这个文件需要自己建一个)
VBOXWEB_USER=sk
VBOXWEB_HOST=127.0.0.1
4. 重启服务器 sudo reboot
直到运行sudo systemctl status vboxdrv 命令时,这个vboxdrv状态为绿色的active 为止。到这里第一步就搞定了半步。
使用VirtualBox管理命令来安装扩展包
sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.44.vbox-extpack
如果前面有过失败的安装,那么重新安装需要加参数 --replace
sudo vboxmanage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-5.2.44.vbox-extpack
VirtualBox管理命令 具体的可以用帮助参数查看详情
sudo vboxmanage -h ##帮助命令
相关命令
VBoxManage extpack install <.vbox-extpack>
VBoxManage extpack install [--replace] { tarball }
正因为这个管理命令太多而复杂,所以 我们才使用phpVirtualBox
到这里第一步就算搞定了。起码我们可以用命令行来管理虚拟机了
下面就是安装个服务器包phpvirtualbox 把它配置成能在浏览器里访问和操作
wget https://github.com/phpvirtualbox/phpvirtualbox/archive/5.2-1.zip
然后解压缩
unzip phpvirtualbox-5.2-1.zip
修改 phpvirtualbox 文件夹下的 config.php
var $username = 'sk';
var $password = 'ubuntu';
然后把这个配置成网站
sudo vim /etc/apache2/sites-enable/virtualbox.conf
重启
$ sudo systemctl restart vboxweb-service $ sudo systemctl restart vboxdrv $ sudo systemctl restart apache2
phpvirtualbox默认的登录用户名和密码都是admin 登录后请修改密码
在命令行下的一些常用管理命令
查看当前已设置的虚拟机列表
VBoxManage list
启动虚拟机
VBoxManage startvm 虚拟机名
无前端图形界面方式启动虚拟机
VBoxManage startvm 虚拟机名 --type headless #phpvirtualbox界面中启动的就是这种无界面模式,可以远程连接
关闭虚拟机
VBoxManage controlvm 虚拟机名 poweroff