{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
对于一线开发人员来说,一提到虚拟机平台,往往会让人联想到在价格昂贵的服务器上部署vmwarevsphere之类软件来实现。
笔者作为一个资深码农,也是一直梦寐着在自己家中打造一个真正的家庭私有云,秒杀那些硬盘厂商所吹嘘的“jia私有云”。
功夫不负有心人,经过反复的实验,浏览了很多国外的社区以后,笔者真的实现了这个目标,而且,真的很便宜哦~!
整理出一份教程放在这里,希望能扩展一下大家的思路。
材料
hpdl380g72u服务器
-core24,mem40g,sas146g*2,raid0
ubuntuserver16.04lts
oraclevirtualbox5.1
oracle_vm_virtualbox_extension_pack5.1
选择服务器
市场上有很多idc机房淘汰的服务器在二手市场上销售,真的是白菜价格。
想入手服务器的筒子们,可以认真考察考察。
笔者在这里不给任何人做广告,只是说一点:在家用,一定要注意噪音问题,否则,被家里的大领导给禁止了就没的完了。
参考文章:
-八百元八核的服务器?二手服务器搭建指南
-八百元八核的服务器?二手服务器(工作站)搭建指南(下)
操作系统
由于服务器是一种有别于一般家用机设备,因此,对于家用机(或者笔记本)来说天经地义的一些经验和安装方法,往往不能直接搬到服务器上。
笔者实际测试的系统包括:
windowsserver2012r2debian9withnon-freefedoraworkstation25ubuntudesktop16.04ltsubuntuserver16.04lts
其中,只有一下三种操作系统能够顺利启动:
windowsserver2012r2debian9withnon-freeubuntuserver16.04lts
考虑到维护和稳定性的要求,最终选择了ubuntuserver16.04作为服务器主机的操作系统。
虚拟机平台
网上有众多的文章都主张选用vmwarevsphere,但是license是个大问题,反正笔者是买不起的。
使用了多年的virtualbox自然成了我的首选,可是virtualbox是否能在server版本的linux上成功虚拟带有图形界面的os还是个问题?
幸好最终找到了一个叫做phpvirtualbox的软件,能够通过网页的形式将virtualbox的操作界面展现出来,
再加上extensionpack扩展包,一个headless服务器的蓝图便浮出水面。
国外的一个网站提供了本教程后面一半的内容,感谢那个名叫sk的作者的分享。
好了,铺垫的介绍就到这里,让我们赶快开始吧。
安装步骤
第一步安装ubuntuserver16.04lts
(安装步骤省略,请自行用bing搜索)
第二步配置ubuntuserver16.04lts
使用固定ip地址。
1vi/etc/network/interfaces
以下是笔者机器上的例子:
1#theprimarynetworkinterface2autoenp3s0f03#ifaceenp3s0f0inetdhcp4ifaceenp3s0f0inetstatic5address192.168.11.166netmask255.255.255.07gateway192.168.11.1
手工指定dns服务器
-dns服务器众多,国外的很多dns资源无法访问,所以笔者选择了一个最保险的dns:要要死(114)
vi/etc/resolvconf/resolv.conf.d/base
向其中添加一行:
nameserver114.114.114.114
(如果你有多个dns服务器的话,请采用上面的格式,每行添加一个dns的ip地址)
让刚才的变更生效,你需要手工重启networking服务
/etc/init.d/networkingrestart
第三步更新ubuntu操作系统
这可能是大家最熟悉的一个指令了apt-get。他看起来太经典了,不是吗?
1apt-getupdate2apt-get-ydist-upgrade
升级完成后,顺便安装以下组件:
apt-getinstallbuild-essentialdkmsunzipwget
apt-getinstallapache2phpphp-mysqllibapache2-mod-phpphp-soapphp-xml
到这里,请一定重启一下服务器。
由于服务器启动速度很慢,通常5~10分钟的样子,各位同学尽可以利用这段时间来放松一下。
第四步安装virtualbox
virtualbox提供了灵活的安装方式,比如,可以选择通过deb包或者repository的来安装。
笔者这里使用repository的方式来进行说明,其它方式,请参考oraclevirtualbox的官方网站。
首先,要做的就是注册这个官方的repository:
vi/etc/apt/sources.list
笔者将url地址添加进去。注:这里"xenial"是ubuntu的发型代号,各位需要根据自己所使用的ubuntu版本添加特定的仓库地址,不能混用。
debhttp://download.virtualbox.org/virtualbox/debianxenialcontrib
注册官方的key
wget-qhttps://www.virtualbox.org/download/oracle_vbox_2016.asc-o-|sudoapt-keyadd-
获取官方repository信息,并开始安装
1apt-getupdate2apt-getinstallvirtualbox-5.1
安装完成后,请确认vboxdrv的状态
systemctlstatusvboxdrv
接着,要做的就是安装virtualbox的扩展包。可以说本方案之所以能够成功,主要依靠的就是这个扩展包的功能。
1wgethttp://download.virtualbox.org/virtualbox/5.1.26/oracle_vm_virtualbox_extension_pack-5.1.26-117224.vbox-extpack2vboxmanageextpackinstalloracle_vm_virtualbox_extension_pack-5.1.26-117224.vbox-extpack
当你看到形如下面的提示,那么恭喜你,到目前为止安装很顺利。
第五步安装web客户端phpvirtualbox
也许大家对phpvirtualbox会比较陌生,引用官方网站上的一句话:aweb-basedfront-endtovirtualboxwritteninphp
可以在这里下载到最新版本。
wgethttps://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-5.0-5.zip
unzipphpvirtualbox-5.0-5.zip
将解压缩后的文件夹复制到apache的默认发布路径,并赋予权限
mvphpvirtualbox-5.0-5/var/www/html/phpvirtualbox
chmod777/var/www/html/phpvirtualbox/
通过example文件创建配置文件
cp/var/www/html/phpvirtualbox/config.php-example/var/www/html/phpvirtualbox/config.php
打开刚刚复制产生的配置文件,指定以哪一个linux用户的权限运行
vi/var/www/html/phpvirtualbox/config.php
1/*username/passwordforsystemuserthatrunsvirtualbox*/2var$username='linux用户名';3var$password='密码';
注:这个配置用的php里有很多的设置选项,推荐准备用于生产环境的筒子们详细的看一下。
创建/etc/default/virtualbox文件
vi/etc/default/virtualbox
仍然添加上面所指定的linux用户
vboxweb_user=linux用户名
依次尝试重启以下三个服务
1systemctlrestartvboxweb-service2systemctlrestartvboxdrv3systemctlrestartapache2
第六步激动人心的时刻到了
打开浏览器,输入网址:http://服务器地址/phpvirtualbox/
在输入了默认的用户明(admin)和密码(admin)以后,一个与原版virtualbox如出一辙的界面就会展现出来
剩下的使用方式就和virtualbox完全相同了。篇幅所限,笔者这里省略。
如何连接你的虚拟机桌面
你当然不希望仅仅在vm中运行命令行界面的os,那么如何才能远程连接到vm的桌面环境呢?
两个步骤轻松搞定:
第一,在虚拟机的设置里面指定远程桌面的端口,例如笔者设置的9061
第二,是使用windows自带的远程桌面(或者任何支持rdp协议的客户端)来连接服务器上面的这个端口。
注:这里的ip(192.168.1.123)是服务器本身的ip,不是vm的ip。
然后....就没有然后啦。
大功告成,累死了。希望能开阔大家的思路。