容器版phpvirtualbox使用注意事项

 

phpvirtualbox可用于管理vbox虚拟机,通过http协议的界面操作,非常方便。

尤其是clone虚拟机时,可以快速修改MAC和硬盘UUID了。

1.启动vboxwebsrv:

vboxwebsrv -b -H0.0.0.0 -p18083 -F/sdb/app/phpvirtualbox/vboxwebsrv.log

 

停止vboxwebsrv脚本:stop_vboxsrv.sh

#!/bin/bash


keywords="vboxwebsrv"
msg="$keywords stopping ... "

echo -e "\e[32m\e[1m"$msg"\e[0m"
PROCESS=`ps -ef|grep "$keywords"|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
  echo "Kill the $keywords process [ $i ]"
  kill -9 $i
done

echo "==================================="
ps -ef|grep $keywords |grep -v grep

 

 

2.启动docker容器版的phpvirtualbox:

docker run --name vbox_http --restart=always \
    -p 50080:80 \
    -e ID_PORT_18083_TCP=192.168.100.100:18083 \
    -e ID_NAME=VboxServer \
    -e ID_USER=root \
    -e ID_PW='password' \
    -e CONF_browserRestrictFolders="/vbox" \
    -d jazzdd/phpvirtualbox

 

ID_NAME 随意

ID_USER 192.168.100.100的ssh用户名

ID_PW    192.168.100.100的ssh用户密码

CONF_browserRestrictFolders="/vbox" 表示客户端只能通过phpvirtualbox访问服务器的/vbox目录。/vbox目录是存放虚拟机文件和snapshot的地方。

如果不配置这个,虚拟机会默认把文件放到/root/下。

 

3.访问http://phpvirtualbox ip:50080,切换界面语言到中文时报错,无法再进入控制界面,即使重建容器也不行。解决办法:

  修改:/etc/nginx/nginx.conf,增加两行

 location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        fastcgi_buffer_size 640k;
        fastcgi_buffers 4 640k;

        }

    重启容器,正常了。

4.增加http访问验证:

修改/var/www/config.php

修改var $noAuth = false;

重启phpvirtualbox容器,再次访问http://phpvirtualbox ip:50080,提示输入用户名密码,默认admin/admin

进入界面后可修改密码:

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐