一、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".

图形化安装

5. 启动 VirtualBox

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

VirtualBox &

命令行方式启动

图形化启动

下面开始配置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

username = admin

password = admin

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/

最新文章

  1. JS代码将数据导入Excel
  2. Visualize Surface by Delaunay Triangulator
  3. [Android Pro] Android libdvm.so 与 libart.so
  4. CORS(跨来源资源共享协议) 与 http 302状态
  5. nmap 高级扫描用法
  6. EJB--事务管理 .
  7. datagrid标题头粗体
  8. SpringMVC+Mybatis(SMM)+mybatis-generate
  9. Spring+SpringMVC+MyBatis+easyUI整合基础篇(二)牛刀小试
  10. Asp,NET控制文件上传的大小
  11. Redis学习笔记~分布锁的使用
  12. js逗号表达式
  13. Sqlserver批量生成10w不重复8位数字
  14. 【Android】LMK 工作机制
  15. linux基础之正则表达式
  16. Java8的Stream流(一) --- 基础用法
  17. Linux 安装SSH
  18. 23.python中的类属性和实例属性
  19. zabbix_get无法执行agent端的脚本文件解决办法
  20. 2) 下载Maven

热门文章

  1. Python 2 和 3 的区别记录
  2. python自带进程池
  3. js扩展运算符(spread)是三个点(...)
  4. Centos7服务器中通过编译源码安装MySQL
  5. 关于忘记Jenkins管理员密码的解决办法
  6. mybatis查询语句的背后之参数解析
  7. SpringMVC(十六) 处理模型数据之SessionAttributes
  8. 【C#】Convert.ToInt32、(int)和int.Parse三者的区别
  9. C# 动态调用WebService 2
  10. SQL 并联更新