在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署
一、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的特点:
开启/关闭虚拟机
快照 查看虚拟机
配置虚拟机 媒体管理
创建虚拟机向导 全局网络配置
导入/导出虚拟机 访问虚拟机控制台
多语言支持
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版本不同的警告
参考:
- Installing VirtualBox In CentOS 7 Headless Server With Support for phpVirtualBox
- Install ‘PhpVirtualBox’ to Manage VirtualBox Virtual Machines via Web Browser in Linux
https://www.linuxhelp.com/how-to-install-phpvirtualbox-in-centos-manage-virtualbox/
http://solutionsatexperts.com/how-to-install-virtualbox-phpvirtualbox-on-centos-redhat/
在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署的更多相关文章
- 在doker上的python安装及环境部署
python环境部署 我们今天学习的内容是如何将Django项目部署到linux服务器上,我们部署的linux系统是centos7首先,我们先在linux上搭建我们的Python3环境: 在这里首先强 ...
- Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇
由于来源身份不明.越权操作.密码泄露.数据被窃.违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅.几种常见的运维人员背黑锅场景:1)由 ...
- Centos下堡垒机Jumpserver V3.0环境部署完整记录(2)-配置篇
前面已经介绍了Jumpserver V3.0的安装,基于这篇安装文档,下面说下Jumpserver安装后的的功能使用: 一.jumpserver的启动 Jumpserver的启动和重启 [root@t ...
- kvm企业级虚拟化环境部署
由于要做毕设了,不得不要搭建Linux环境,自己做的课题是ELK日志分析相关.因此要大干一场,一下子计划采用近10台机器来做试验,但由于我这里只有三台物理机,所以我就搞起了虚拟化kvm.在Linux里 ...
- kvm虚拟化环境的搭建
首先搭建kvm的虚拟化环境,我选择的环境是在vmvare上的Centos 7的虚拟机,在该环境上搭建kvm的虚拟化环境 1:安装虚拟机(该过程自行安装) 2:操作系统环境的设置 (1)修改内核模式为兼 ...
- 【原】【BG】-一次虚拟化环境实践简要记录
部分涉及到Linux.Nginx.tomcat.MySQL等的点滴操作记录,时间长了,就忘掉了,偶尔整理一下操作的history,就此简要备份一下: [原][BG]-一次虚拟化环境实践简要记录: ht ...
- Xen入门系列一【使用Xen4CentOS 在 Centos 6 上安装 Xen】
最近在学习Hadoop,在Win7下用VMware搭了三台虚拟机好不容易装好了Hadoop结果跑个两个单词的wordcount就跑了十分钟,郁闷啊,于是开始寻找效能更好的虚拟化解决方案,然后选定了Xe ...
- Centos服务器上NFS灾备环境及KVM的搭建及使用
1.概述 由于在单台服务器上搭建灾备环境需要KVM和NFS的支持,下面先列出KVM的搭建流程,再列出使用NFS实现单台服务器灾备的流程. A.搭建KVM环境 1>.主机环境准备 Linux Sy ...
- 在CentOS 6上使用 AWStats 分析 httpd 和 Tomcat 日志
准备工作: Awstats 是由perl语言编写的,所以要首先准备好awstats的运行环境.# yum install –y perl* Apache 一.首先,要安装apache服务器,并且启 ...
随机推荐
- 分享一段奇葩的DBMS_JOB书写经历
declare JOB_ILEARN_ONLINE number :=1; begin dbms_job.submit(JOB_ILEARN_ONLINE,'clear_product;',sysda ...
- POJ 1470 Closest Common Ancestors (模板题)(Tarjan离线)【LCA】
<题目链接> 题目大意:给你一棵树,然后进行q次询问,然后要你统计这q次询问中指定的两个节点最近公共祖先出现的次数. 解题分析:LCA模板题,下面用的是离线Tarjan来解决.并且为了代码 ...
- Python并发复习2 - 多线程模块threading
一.多线程的调用 threading 模块建立在thread 模块之上.thread模块以低级.原始的方式来处理和控制线程,而threading 模块通过对thread进行二次封装, 提供了更方便的a ...
- js日期处理函数 -- 判断闰年,获取当月的总天数、添加月份
1. 判断是否是闰年 function isLeapYear(eDate) { var year = eDate.getFullYear(); return (((0 == year % 4) &am ...
- BeagleBone Black 从零到一 (2 MLO、U-Boot) 转
文章原址:jexbat.com/categories/BeagleBone/ 什么是 U-Boot 熟悉嵌入式开发的应该都听过它,U-boot 就是启动系统前的一段引导程序,虽然是引导程序,但是功能非 ...
- java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration] with root cause
在用Java web和hbase连接时,报出来这个错误,一开始我以为是hbase导入的包位置不对,不从build path那里导入,而是从WEB-INF下的lib中导入,尝试了之后结果仍是这个错误 十 ...
- [Python]Flask 源代码分析-config
flask有一个Config类,含from_object, from_pyfile, from_environ等载入命名空间的方法.载入命名空间的本质是载入一个dict[key]=value的字典. ...
- 生产者与消费者 代码实现 java
首先,我利用忙测试写出了第一次版本的代码 package How; //自写代码 缺陷 无法完全实现pv操作线程处于忙测试状态 public class bin_1_1 { public static ...
- Java并发编程(一)-- 多线程的基本概念
多线程发展进程 在过去单CPU时代,单任务在一个时间点只能执行单一程序:发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程--虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个 ...
- python基础一 ------如何获取多个字典相同的键
需求: 足球赛第一场进去统计 {"A":3,"B":2,"C":1}足球赛第二场进去统计 {"A":3," ...