phpvirtualbox+Virtualbox完整虚拟化环境部署
更新:HHH   时间:2023-1-7


最近公司由于原有的开发环境比较老,且磁盘出现坏道的情况,所以需要零时快速搭建一套虚拟化的环境以满足测试需求以及服务迁移,于是果断选择了phpvirtualbox+Virtualbox这套环境,之所以选择,完全是因为它轻量级,部署快,最主要的还是能满足需求。废话就不多说啦,直接上步骤。


一 首先说下需要哪些物料吧!如下:

[root@lulu ~]# cat /etc/centos-release

CentOS release 6.5 (Final)

[root@lulu ~]# uname -r

2.6.32-431.29.2.el6.x86_64

[root@lulu data]# ll

-rw-r--r--  1 root   root      10432725 Feb 26 2014 Oracle_VM_VirtualBox_Extension_Pack-4.3.8-92456.vbox-extpack

-rw-r--r--  1 root   root       3475340 Sep 25 18:17 phpvirtualbox-4.2-8.zip

-rw-r--r--  1 root   root      91227600 Feb 26 2014 VirtualBox-4.3.8-92456-Linux_amd64.run

如何下载就不用说了吧。给一个地址:http://dlc.sun.com.edgesuite.net/virtualbox/4.3.8/


二 安装步骤

  1. 安装依赖包

    1. [root@lulu data]# yum -y install gcc make unzip perl wget httpd php php-mysql php-pear php-soap apr apr-util-sqlite apr-util-ldap apr-util

    2. [root@lulu data]# yum -y install kernel-headers kernel-devel

    3. [root@lulu data]# rpm -qa |grep kernel   #这里要特别注意版本要一直,否则在安装virtualbox的时候会提示错误,如果不一致了,怎么办呢,那就按d升级kernel咯

          kernel-headers-2.6.32-431.29.2.el6.x86_64

          kernel-devel-2.6.32-431.29.2.el6.x86_64

          kernel-2.6.32-431.29.2.el6.x86_64

    4. [root@lulu data]# yum upgrade kernel

  2. 安装DKMS (由于virtualBox默认是在DKMS内核中运行,所以须先安装DKMS

    [root@lulu data]# rpm -ivh http://linux.dell.com/dkms/permalink/dkms-2.2.0.3-1.noarch.rpm

  3. 安装Virutalbox

    [root@lulu data]# chmod +x VirtualBox-4.3.8-92456-Linux_amd64.run && sh VirtualBox-4.3.8-92456-Linux_amd64.run

  4. 测试下是否组件都能正确加载,并能成功启动

    [root@lulu data]# /etc/init.d/vboxdrv setup        #看到4个"OK"表示OK

  5. 添加用户并作简要配置

    [root@lulu data]#  useradd -g vboxusers -d /data/vbox -s /sbin/bash vbox

    [root@lulu data]#  passwd vbox                #输入密码,后面会用上

    [root@lulu data]# vim /etc/default/virtualbox      #输入以下内容,并保存

             VBOXWEB_USER=vbox

    [root@lulu data]# chkconfig --levels 235 vboxweb-service on

    [root@lulu data]# service vboxweb-service start

    [root@lulu data]# netstat -anptl | grep 18083

         tcp 0 0 127.0.0.1:18083  0.0.0.0:*  LISTEN 1321/vboxwebsrv  

  6. 安装phpVirtualbox

    [root@lulu data]#  cd /var/www/html

    [root@lulu data]#  wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-1.zip

    [root@lulu data]#  unzip phpvirtualbox-4.3-1.zip

    [root@lulu data]#  mv phpvirtualbox-4.3-1 vbox

    [root@lulu data]# cd vbox;cp config.php-example config.php

    [root@lulu data]#  vim config.php

        var $username = 'vbox';

        var $password = '*******';      #前面设置的密码

        var $vrdeports = '3389-3489';    #remote desktop server port说白了就是远程访问端口

        var $consoleHost = '192.168.0.80'; #在remote desktop server中使用(重要)

7. 安装扩展包(重要,安装了这个才能使用上面的远程访问的啦以及在web界面上使用conslor)

    [root@lulu data]# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.8-92456.vbox-extpack

8. 启动web服务

    [root@lulu data]# service httpd start && chkconfig httpd on && service vboxweb-service restart


到此基本完成啦!你可以通过 http://192.168.0.80/vbox(User:admin / Passwd:admin)访问了。

但是我们不能就这样结束了,我们希望虚拟机能开机自动启动,那么还需要完成以下工作:

9.  创建虚拟机(略)

三  配置相关文件来使autostart功能可用

    [root@lulu data]# vim /etc/default/virtualbox

        VBOXAUTOSTART_DB=/etc/vbox/autostart

        VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg

    [root@lulu data]# vim /etc/vbox/autostart.cfg       

        # Default policy is to deny starting a VM, the other option is "allow".

        default_policy = deny

        # Create an entry for each user allowed to run autostart

        vbox = {

            allow = true

        }

    [root@lulu data]#  chgrp vboxusers /etc/vbox/autostart && chmod 1775 /etc/vbox/autostart

    [root@lulu data]#  su - vbox

    [vbox@lulu ~]$ VBoxManage setproperty autostartdbpath /etc/vbox/autostart        #将该目录赋予自启动权限

    [vbox@lulu ~]$ VBoxManage list vms         #查看有哪些虚拟机

            "Centos6.5" {67985137-8223-4a95-9760-e5d0381176ad}

    [vbox@lulu ~]$ VBoxManage modifyvm "Centos6.5" --autostart-enabled on        #将Centos6.5设置成自启动,需要先启动, 第一次将会在/etc/vbox/autostart/目录下生成一个vbox.start文件,文件内容记录了自启动的机器数目。

    [root@lulu data]#  service vboxautostart-service start         #重启服务,让重新读取 /etc/default/virtualbox/*.start文件


至此,恭喜你,全部完成!就这样,你reboot了你系统,你的虚拟机就是随着主机器一并启动,很爽的吧?快去尝试一下

四  最后,在你不知道机器ip的时候,如何登录机器呢?有很多方式实现啦:

rdesktop 192.168.0.80:3389

gtkvncviewer

vncviewer

等工具都能帮助你,你不知道这些,没关系,那就直接登录web,然后从conslor上直接connect。


已经全部完成啦,哈哈。。。

返回web开发教程...