Ubuntu18.04 上 phpvirtualbox 折腾记

20190216 由于修改账户密码造成 phpvirtualbox 访问出错!

错误如下
Exception Object
(
    [message:protected] => Error logging in to vboxwebsrv.
    [string:Exception:private] => 
    [code:protected] => 64
    [file:protected] => /var/www/html/phpvirtualbox/endpoints/api.php
    [line:protected] => 134
    [trace:Exception:private] => Array
        (
        )
    [previous:Exception:private] => 
)

打开 api.php 源码 134 行内容
vim /var/www/html/phpvirtualbox/endpoints/api.php
	try {
	                                $settings->auth->login($request['params']['u'], $request['params']['p']);
	                        } catch(Exception $e) {
	                                throw new Exception($e->getMessage(), $e->getCode());
	                        }

** 其实到这里应该就能想到,自己配置的 config.php 忘记修改了!
sudo vim /var/www/html/phpvirtualbox/config.php  
更新一下密码就好了!

但是,对于linux下visualbox的陌生,首先想到的是vbox出错了!
结果悲剧了!从头开始折腾了一遍!

1、vbox 命令行

** 首先想到用 vbox 命令行试试

1. 列举所有虚拟机 VBoxManage list vms
		...
	"seed ubuntu1804-55" {12106623-ee6f-493a-bbfd-9c2bf1915854}

2. 启动虚拟机 VBoxManage startvm 12106623-ee6f-493a-bbfd-9c2bf1915854
	Waiting for VM "12106623-ee6f-493a-bbfd-9c2bf1915854" to power on...
	VBoxManage: error: The virtual machine 'ubuntu1804-55' has terminated unexpectedly during startup with exit code 1 (0x1)
	VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine
** 启动不了?但是看到虚拟机都还在,重装试试

3. 关机 VBoxManage controlvm 12106623-ee6f-493a-bbfd-9c2bf1915854 poweroff
	正确地返回
		0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
	已经关机后再次关机返回
		VBoxManage: error: Machine '12106623-ee6f-493a-bbfd-9c2bf1915854' is not currently running

2、重装 visualbox

1. 参考

https://blog.csdn.net/wonder4/article/details/81114892

https://mp.weixin.qq.com/s?__biz=MjM5NjQ4MjYwMQ==&mid=2664612263&idx=3&sn=eea00449e6f3054b74f5538c84637d5b&chksm=bdcefae18ab973f794cae5951c68d22f22652346d9954ef9586cf2ab0d024ab1d012795416ff&mpshare=1&scene=23&srcid=02162kiULZPdAJ70dpylEx4v%23rd

2. 卸载已经安装的visualbox
	1).sudo apt remove virtualbox virtualbox-5.2	
		总是提示已经存在正在运行的版本
	
	2). 停止服务
		sudo systemctl stop vboxweb-service
		sudo systemctl stop vboxdrv
	
		停止之后,再看,还是有 VBox 进程
		ps -ef |grep VBox
	
	3). 杀死进程
		sudo ps -ef |grep VBox |awk '{print $2}'|xargs kill -9
		sudo 始终不能清除干净!su 到 root 之后再来
	
	4). root 身份杀死进程
		** ubuntu 18.04 安装后,root 密码是随机的,所以,需要设置 root 密码之后再执行su
		$ sudo ps -ef |grep VBox |awk '{print $2}'|xargs kill -9
			kill: (29685): Operation not permitted
			kill: (29689): Operation not permitted
			kill: (30973): No such process
		
		** 这次彻底停止了!然后重新卸载,ok!
		sudo apt remove virtualbox virtualbox-5.2


3. 重新安装
	1). 添加仓库
		deb http://download.virtualbox.org/virtualbox/debian bionic contrib
	
	2). 添加 Oracle 公钥
		wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
		
	3). 安装依赖(之前已经安装过,重新安装一次无妨)
		sudo apt update
		sudo apt-get -y install gcc make linux-headers-$(uname -r) dkms

	4). 开始安装新版
			 ** 上vbox 官网看看新版本
https://www.virtualbox.org/wiki/Linux_Downloads
			** 官网上看到最新版是 6.0.4,但是下载非常缓慢,放弃了!还是安装 5.2 版
			sudo apt update
			sudo apt-get install virtualbox-5.2
	
	5). 查看一下版本号,顺便确认安装成功否
		VBoxManage -v
			5.2.26r128414
			
	6). 安装扩展
		** 以前装的是 5.2.14,5.2.24 和 5.2.24 扩展下载很慢,最后选择了 5.2.22
		下载
			wget https://download.virtualbox.org/virtualbox/5.2.14/Oracle_VM_VirtualBox_Extension_Pack-5.2.22.vbox-extpack
		安装
			sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.22.vbox-extpack

4. 增加或设置vboxusers 组用户
	** 如果不是使用当前系统账户,或者准备多账户操作vbox,先去 adduser 去!
		cat /etc/group |grep vbox
			...
			vbox20190217
			vbox20190217:x:1001:

3、重装 phpvirtualbox

1. 安装 phpViauslBox 依赖
	sudo apt install apache2 php php-mysql libapache2-mod-php php-soap php-xml

2. 下载、解压
	wget https://github.com/phpvirtualbox/phpvirtualbox/archive/5.2-1.zip
	unzip 5.2-1.zip
	
3. 转移到 apache 网站目录下
	sudo mv phpvirtualbox-5.2-1/ /var/www/html/phpvirtualbox
	sudo chmod 777 /var/www/html/phpvirtualbox/
	
4.  复制配置文件,修改配置账号
	sudo cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
	sudo vim /var/www/html/phpvirtualbox/config.php
	选择一个准备操作 vbox 的系统账户信息,对应修改
		var $username = 'XXXX';
		var $password = 'XXXXXXXXXX';
	** 不是打算登录 phpvialbox 的管理员账户
	** 我简单采用单一账户,多账户需要在这里分别设置 var $servers = array( ...
	
	5. 设置缺省 vbox 操作账户
		sudo vim /etc/default/virtualbox
		
	6. 	重启服务
		sudo systemctl restart vboxweb-service
		sudo systemctl restart vboxdrv
		sudo systemctl restart apache2

4、打开 phpvirtualbox 控制台网址

	http://192.168.0.XX:XXXX/phpvirtualbox/

可以看到之前已经安装的虚拟机列举在这里,顶部菜单可以设置 phpvisualbox 控制台密码

在这里插入图片描述
通过控制台,启动之前 VBoxManage startvm 12106623-ee6f-493a-bbfd-9c2bf1915854 失败的虚拟机
OK!起来了!
命令行启动为什么失败?以后再学习了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈虎123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值