在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署

时间:2024-08-30 10:03:32

一、phpVirtualBox简介

     VirtualBox是一套为不同操作系统而设的 x86 虚拟化产品。它是一个机器/硬件的虚拟化产品,功能上与 VMware Server、Parallels Workstation、QEMU、KVM、及 Xen 相若,并能支持各种客端操作系统,当中包括 Windows。它的支持者声称它是「在 GNU General Public License(GPL)下唯一个以开源程序免费供应的专业方案」。虽然它不及那些修改 Linux 内核的操作系统级虚拟化方案,如KVM般高效率,它却是容易安装及使用。优点包括:

     1. 备有 RPM 组件

    2. 积极的社区支持

    3. 执行各种客端操作系统

    4. 良好的硬件访问支持,包括声音、USB、及串口

    5. 支持不少主体操作系统

phpVirtualBox是一个开源的VirtualBox网页接口,一个基于php构建的VirtualBox前端界面,可以通过浏览器来实现对VirtualBox主机进行管理,web界面使用了AJAX 技术,在浏览器里对VirtualBox进行远程管理时,看上去和本地的VirtualBox控制台差不多。PhpVirtualBox的特点:

    1. 开启/关闭虚拟机

    2. 快照 查看虚拟机

    3. 配置虚拟机 媒体管理

    4. 创建虚拟机向导 全局网络配置

    5. 导入/导出虚拟机 访问虚拟机控制台

    6. 多语言支持

    Virtualbox下载地址

    http://download.virtualbox.org/virtualbox/5.1.2/

    phpVirtualBox下载地址

    https://sourceforge.net/projects/phpvirtualbox/?source=typ_redirect

    以下为CentOS 7上Virtualbox+phpvirtualbox完整虚拟化环境部署过程

    二、安装过程

    1、安装DKMS(Dynamic Kernel Module)

    安装 VirtualBox时是须要创建内核模块的。假如 DKMS(Dynamic Kernel Module Support)已被安装,它会被应用,并会简化内核升级。我们推荐在安装 VirtualBox 前,首先从 EPEL 软件库安装 DKMS。

    yum install epel-release-7-5.noarch
    
    yum --enablerepo=epel install dkms

    2.安装开发环境和内核:

    如果你不采用 DKMS,而开发环境及内核的源代码仍未被安装:

    yum groupinstall 'Development Tools' SDL kernel-devel kernel-headers

    3.安装Virutalbox

    添加VirtualBox源

    cd /etc/yum.repos.d/ &&  sudo wget http://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo

    下载安装repository authentication key file

    wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
    
    rpm --import oracle_vbox.asc

    查看并安装VirtualBox

    yum check-update  
    
    yum list|grep virtualbox
    
    yum install VirtualBox-5.1.x86_64

    如开发环境已被正确地设置,这个安装程序将会创建 vboxusers 这个群组及它所需的内核模块。

    4.下载安装Virutalbox增强包

    只有安装VirtualBox增强功能之后,我们才能使主机和虚拟机之间,共享剪贴板,文件夹共享等功能,才能正常使用

    命令安装

    cd /tmp && wget http://download.virtualbox.org/virtualbox/5.1.2/Oracle_VM_VirtualBox_Extension_Pack-5.1.2.vbox-extpack
    
    VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.2.vbox-extpack
    
    0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
    
    Successfully installed "Oracle VM VirtualBox Extension Pack".

    图形化安装

    在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署

    5. 启动 VirtualBox

    以vboxusers群组内一位成员的身份执行VirtualBox

    VirtualBox &

    命令行方式启动

    在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署

    图形化启动

    在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署

    下面开始配置phpVirtualBox

    6. 创建用户,并添加至vboxusers 组

    useradd vbox
    
    passwd vbox
    
    usermod -G vboxusers vbox

    未来每一个会执行 VirtualBox 的用户,也要添加附加组vboxusers

    usermod -a -G vboxusers 用户名称

    7. 安装Apache2, PHP and Modules

    yum install httpd php php-devel php-gd php-common php-soap

    8.下载phpVirtualbox,解压至相应目录

    wget http://ufpr.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
    
    unzip phpvirtualbox-5.0-5.zip
    
    mv phpvirtualbox-5.0-5 /var/www/html/phpvirtualbox
    
    ####更改权限
    
    chown -R vbox:vbox   /var/www/html/phpvirtualbox/

    9、拷贝并修改配置文件

    拷贝配置文件

    cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php

    修改配置文件vim /var/www/html/phpvirtualbox/config.php

    [...]
    
    var $username = 'vbox';
    
    var $password = 'vbox';
    
    [...]

    10.创建此配置文件/etc/default/virtualbox

    vi /etc/default/virtualbox

    内容如下,vboxweb-service启动的时候需要访问

    VBOXWEB_USER=vbox

    11.启动vboxweb-service

    systemctl restart  vboxweb-service 
    
    /etc/init.d/vboxweb-service start

    启动完 检查18083端口是否被监听

    [root@xqzt tmp]# netstat  -nltp|grep 18083
    
    tcp        0      0 127.0.0.1:18083    0.0.0.0:*   LISTEN      10717/vboxwebsrv

    12.重启Apache

    systemctl restart httpd
    
    /etc/init.d/httpd restart

    13 防火墙设置

    ##Add
    
    firewall-cmd --permanent --zone=public --add-port=80/tcp
    
    ##Reload
    
    firewall-cmd --reload

    访问http://localhost会显示apache的页面

    14 关闭selinux

    永久关闭

    vi /etc/sysconfig/selinux
    
    ####Change the line as shown below.
    
    [...]
    
    SELINUX=disabled
    
    [...]

    临时关闭,避免重启

    setenforce 0

    15.验证

    http://server_IP_address/phpvirtualbox

    在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署

    username = admin

    password = admin

    Virtualbox和phpVirtualBox版本不同的警告

    在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署

    参考:

    1. Installing VirtualBox In CentOS 7 Headless Server With Support for phpVirtualBox
    2. 在 CentOS 上安装及使用 VirtualBox

    3. Install ‘PhpVirtualBox’ to Manage VirtualBox Virtual Machines via Web Browser in Linux
    4. https://www.linuxhelp.com/how-to-install-phpvirtualbox-in-centos-manage-virtualbox/

    5. http://solutionsatexperts.com/how-to-install-virtualbox-phpvirtualbox-on-centos-redhat/