基于VMware的Apache服务器仿真实验平台设计 电气工程专业_第1页
基于VMware的Apache服务器仿真实验平台设计 电气工程专业_第2页
基于VMware的Apache服务器仿真实验平台设计 电气工程专业_第3页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

:摘要Apache在全球WEB服务器软件市场中占据着最大的市场份额,几乎所有广泛使用的计算机平台都能运行,具有强大的跨平台能力和安全性。同时Linux操作系统具有的安全性、开源性特点,使其成为支持和搭建Apache服务器的最佳选择。但在搭建基于Linux的Apache服务器时,由于现有的实验条件限制,导致实验无法开展。本文使用VMware软件创建四台虚拟机,分别模拟Apache服务器,DNS服务器,DHCP服务器,Client。其中DHCP服务器与DNS服务器的搭建目的为模拟构建网络环境,使用DHCP服务器为Apache服务器、DNS服务器分配固定IP,为客户端分配动态IP,Client通过DNS服务器域名解析访问Apache服务器。经过实际测试运行后,结果表明该实验平台能够较好的模拟Apache服务器,解决由于实验经费紧张及实验场地限制导致Apache服务器的相关实验无法正常开展问题。关键词:Linux;Apache服务器;DHCP服务器;VMware;DNS服务器AbstractApacheintheglobalWEBserversoftwaremarketoccupiesthelargestmarketshare,almostallwidelyusedcomputerplatformcanberan,withastrongcross-platformcapabilitiesandsecurity.AtthesametimetheLinuxoperatingsystemhasthesecurity,opensourcefeatures,makeitsupportsandbuildsApacheserverthebestchoice.However,intheconstructionofLinux-basedApacheserver,duetotheexistingexperimentalconditions,resultinginexperimentscannotbecarriedout.ThisarticleusesVMwaresoftwaretocreatefourvirtualmachines,respectively,simulationApacheserver,DNSserver,DHCPserver,Client.DHCPserverandDNSservertobuildthepurposeofmodelingtobuildanetworkenvironment,theuseofDHCPserverfortheApacheserver,DNSserverassignedafixedIP,fortheclienttoassigndynamicIP,ClientDNSserverdomainnameresolutiontoaccesstheApacheserver.Aftertheactualtestrun,theresultsshowthattheexperimentalplatformbettersimulatetheApacheservertosolvetheproblemduetoexperimentalbudgetandexperimentalsiteconstraintscausedbyApacheserverrelatedexperimentsKeywords:Linux;ApacheServer;DHCPServer;VMware;DNSServer 目录摘要 IIAbstract II目录 III第1章绪论 1需求分析及设计背景 1功能简介及目标 2本文组织结构 3第2章概述 42.1 虚拟机概述 42.2 Linux概述 5第3章基本实验环境搭建 73.1 VMwareWorkstation软件的安装 73.2 新建虚拟机并安装Linux操作系统 73.3 配置虚拟网络模式 93.4 配置本地YUM 113.5 配置IP地址 133.6 关闭SELinux与防火墙。 153.7 检查硬件(磁盘空间,内存)是否符合要求 163.8 软件安装 163.9 创建快照和克隆虚拟机 17第4章仿真实验平台搭建 234.1 搭建Apache服务器 234.1.1 主要配置文件说明 244.1.2 准备安装环境 254.1.3 搭建LAMP架构 254.1.4 修改配置文件 264.1.5 测试LAMP架构 264.1.6 测试PHP模块功能 274.1.7 启动MySQL并测试其基本功能 284.2 搭建DNS服务器 304.2.1 DNS简介 304.2.2 主要配置文件说明 344.2.3 搭建DNS服务器 374.2.4 测试DNS服务器 384.3 DHCP服务器 394.3.1 DHCP简介 394.3.2 主要配置文件说明 424.3.3 搭建DHCP服务器 434.3.4 测试DHCP服务器 45第5章Apache仿真实验平台整体功能测试 475.1 测试DHCP服务器能否按要求进行IP地址分配 475.2 测试DNS服务器能否按照要求对WEB域名进行解析 51第6章结论 536.1 遇到的问题及解决方法 536.2 总结 56致谢 57参考文献 58第1章绪论需求分析及设计背景当前主流的Web服务器软件主要有Apache,IIS,Nginx,Google等,其中根据Netcraft公布的12月份Web服务器最新数据。数据显示,在全球555,482,744个调查网站中,使用ApacheWeb服务器的网站有362,267,922,占全球市场份额的65.22%,稳居榜首。而具有开源,稳定、安全性强,性能优良等优点的Linux操作系统,是支持和搭建Apache服务器的最佳选择,于是Linux操作系统加Apache搭建Web服务器的组合,成为市场上占有份额最大,发展前景最好的搭档。今天,无论是政府部门,高校还是企业都会选择建立自己的网站,通过网站展示自己的特色与优势,或者为我们的日常生活提供各式各样的服务。其发展过程大致可以划分为两个阶段Web1.0和Web2.0。Web1.0基本采用的是技术创新主导模式,信息技术的变革和使用对于网站的新生与发展起到了关键性的作用。新浪的最初就是以技术平台起家,搜狐以搜索技术起家,腾讯以即时通讯技术起家,盛大以网络游戏起家,在这些网站的创始阶段,技术性的痕迹相当之重。进入Web2.0以后,不再仅仅局限于技术层面的追求,对于用户体验和系统性能也要求的越来越高。最为突出的表现是数据的海量增加,这些数据包括用户基本信息数据、图片、音频、视频、文档以及缓存等,并且这种增幅一直在增加,特别是在平台开放后,对这方面要求更为明显。在2009的统计中,Facebook的用户每个月都上传超过800万张数码照片,截至2008年夏天,Facebook是全球排名第一的网络照片存储网站,共存储了6.5亿张图片,同时,Facebook还拥有500多万部影片,以及其他内容,其中包括约20万件网络新闻、博客文章以及报告和评论,总计存储的数据量达到数个PB,所有这些数据都需要安全的存储,而且需要马上就进行检索。而这,是一个极为艰巨的任务。而在2011年的统计中,一个个令人惊异的数据展现在我们眼前。开放式Web平台流行后,Web的技术日趋成熟,但庞大的信息量对数据的获取、存储、传输、计算能力等环节都提出了新的挑战,传统的计算方式已经不能满足新的需求。云计算从此异军突起,特别是Google、Amazon等企业的云计算平台日臻完善与成熟,云计算逐渐成为开放式Web平台中基础数据高效运转的解决方案。云计算对海量数据的存储以及优化都有很大的改进,并且云计算通过网络按需提供可动态伸缩的廉价计算服务也是当前Web平台的一大特点。面对Web网站数据量断崖式的增长,Web服务器承受的压力越来越大,同时新的技术也在不断地被开发出来,这对从事相关行业的人员提出了越来越多的要求,而对应岗位的需求也会不断增长。为了满足计算机网络系统管理的人才需求,各大高校在计算机网络等专业也开设了《Linux网络操作系统》课程,但Linux网络操作系统的配置,如DHCP服务器,DNS服务器等,必须在两台以上的计算机上才可完成真实的测试。在实际中,在学生机没有光驱等一些限制条件下,安装真实的Linux系统是很难做到,同时,一些“危险”性的实验也可能破坏物理计算机系统。这就要求配置专用的网络实验室,而且要有一定数量的开放的计算机及相关硬件设备才能开展实训教学。限于资金、场地及维护等原因,专用网络实验室往往无法建立。因此,对于Apache服务器仿真实验平台的研究显得志在必行,对于计算机网络系统管理人才的培养具有深远意义。功能简介及目标VMware软件创建四台虚拟机,分别模拟Apache服务器,命名为ApacheServer;DNS服务器,命名为DNSServer;DHCP服务器,命名为DHCPServer;Client客户端,命名为Client。将该四台虚拟机加入同一个Team中命名为TeamTest,专门为其创建LanTest。其中使用DHCP服务器为Apache服务器、DNS服务器分配固定IP,为客户端分配动态IP,Client客户机通过DNS服务器域名解析访问Apache服务器。表1.1各服务器信息名称用途操作系统版本IP地址ApacheServerApache服务器Rehel6.5Enterprises由DHCP服务器分配固定IP(5)DHCPServerDHCP服务器Rehel6.5Enterprises7DNSServerDNS服务器Rehel6.5Enterprises由DHCP服务器分配固定IP(6)Client客户端WinXPDHCP服务器动态分配网络拓扑图:图1.1Apache服务器仿真实验平台网络拓扑图本文组织结构Apache在Web服务器软件占有的地位越来越重要,本文基于此主要研究了基于VMware的Apache服务器仿真实验平台设计与实现。论文的主要研究内容与结构安排如下:第1章,介绍了设计基于VMware的Apache服务器仿真实验平台需求分析及背景。第2章,对搭建仿真实验平台的两个重要方面Linux操作系统及VMwareWorkstation软件进行概述。第3章,介绍了搭建基本实验环境的详细步骤及结果。第4章,介绍搭建Apache服务器仿真实验平台的详细步骤。第5章,对搭建的仿真实验平台进行整体的测试。最后是对于本题目设计与实验的总结与分析。第2章概述虚拟机概述虚拟机(VirtualMachine)是指通过软件模拟的具有完整计算机时代硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。目前流行的虚拟机软件有VirtualBox、VirtualPC和VMware,它们均能在Windows系统上虚拟出多个计算机。VMware是虚拟化领域的先驱及云计算和移动商务领域的创新者,同时也是全球超过50万客户信赖的首选平台提供商,利用VMware搭建仿真实验平台,不仅解决了实验经费紧张和实验场地不足等问题,更重要的是营造了“自足学习”环境。利用此平台,使用者可以运用所学的知识,进行各种虚拟体验,而且还可以开展创新性的实验。VMware虚拟网络VMware提供三种网络连接模式:bridged(桥接模式)、NAT(网络地址转换模式)和host-only模式。用户建立虚拟机后可以根据现实网络情况进行灵活选择,把虚拟机接入网络。 表2.1VMware网络连接方式VMware网络连接模式名称使用的网卡虚拟机与物理主机关系虚拟机与网络中其他主机关系虚拟机与虚拟机关系特点NAT(网络地址转换)VMnet8虚拟网卡配置后可以互相访问配置后可以互相访问配置后可以互相访问NAT模式是最简单的实现虚拟机上网的方式,虚拟机访问网络的所有数据都是由主机提供,其并不真实存在于网络中。网络ip资源紧缺,又希望虚拟机能够联网时,NAT模式是最好的选择BridgedAdapter(桥接模式)使用真实网卡配置后可以互相访问配置后可以互相访问配置后可以互相访问桥接模式将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。需要占用一个真实的IP地址,IP地址紧张时容易造成地址冲突。Host-onlyAdapter(主机模式)VMnet1虚拟网卡配置后可以物理主机可单向访问虚拟机无法访问配置后可以互相访问虚拟机在物理主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上。Linux概述Linux诞生于1991年,由芬兰大学生李纳斯(LinusTorvalds)和后来陆续加入的众多爱好者共同开发完成,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。支持32位和64位硬件,继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。具有如下特点:自由与开放的使用与学习环境由于Linux是基于GPL的授权之下,因此是自由软件,即任何人都可以自由的使用或者是修改其中的原始码,这种开放性架构对科学界来说相当重要,很多的工程师由于特殊的需求,常常需要修改系统的原始码,使该系统可以符合自己的需求,而这个开放性的架构将可以满足这些需求。配备需求低廉Linux可以支持个人计算机的x86架构,系统资源不必像早先的Unix系统,仅适合于单一公司所出产的设备。核心功能强大而稳定Linux本来就是基于Unix概念而发展出来的操作系统,因此,Linux具有与Unix系统相似的程序接口跟操作方式,当然也继承了Unix稳定并且有效率的特点,同时功能也并不输给一些大型的Unix工作站,因此,近年来越来越多的公司或者是团体、个人投入这一个操作系统的开发与整合工作。独立作业:随着越来越多的软件在Linux操作系统上面进行发展与测试,Linux近来已经可以独力完成几乎所有的工作站或服务器的服务了,例如Web,Mail,Proxy,FTP等。多任务、多使用者与Windows系统不同,Linux主机上可以同时允许多人在线工作,并且资源的分配更加公平,比Windows的单人多任务系统要稳定的多。可以在一部Linux主机上面规划出不同等级的用户,而且每个用户登入系统时的工作环境都可以不相同,此外,还可以允许不同的使用者在同一个时间登入主机,同时使用主机的资源。适合需要小核心程序的嵌入式系统由于Linux只要几百K不到的程序代码就可以完整的驱动整个计算机硬件并成为一个完整的操作系统,因此相当适合于目前家电或者是小电子用品的操作系统,即嵌入式系统(例如手机、数字相机、PDA、家电用品等等的微计算机操作系统)没有特定的支持厂商,游戏、专业软件的支持度不足,教育训练作的还不够好。第3章基本实验环境搭建VMwareWorkstation软件的安装VMware软件的安装与其他软件没什么区别,安装过程无特殊要求。安装后界面如下:图3.1安装VMwareWorkstation软件后显示界面新建虚拟机并安装Linux操作系统新建虚拟机及安装Linux操作系统如图1--图9所示:→图3.2VMware启动后的界面图3.3新建虚拟机向导运行VMwareWorkstation,选择菜单“文件”/“新建”/“虚拟机”,进入虚拟机安装向导欢迎界面,之后按向导提示选择典型安装,选择操作系统类型,如安装RedHatLinux,设置存储位置,分配磁盘空间等,直至虚拟机创建完成,操作系统安装过程中提示与在一台裸机上安装过程一样。→图3.4选择虚拟机配置图3.5选择安装的操作系统↓←图3.6选择网络类型图3.7命名虚拟机和选择位置→图3.8指定磁盘容量图3.9虚拟机设置图3.10新建好的虚拟机在新建的虚拟机上如图3-10所示,双击CD/DVD(IDE1.0)使用iso文件进行装系统。系统安装完成后如下图所示:图3.11Linux登录界面配置虚拟网络模式确认虚拟网卡是否启用图3.12检查虚拟网卡是否开启界面根据实际情况选择相应模式图3.13选择网络连接模式界面注意:NAT、仅主机模式选择相应的虚拟网卡,桥接模式选择真实的需要进行桥接的网卡。配置IP地址时,桥接模式下需要与桥接的物理机真实网卡IP地址处于同一段,NAT、仅主机模式下需要与相应的虚拟网卡处于同一段。配置本地YUMYum(YellowdogUpdater,Modified)由DukeUniversity团队,修改YellowDogLinux的YellowDogUpdater开发而成,是一个基于RPM包管理的字符前端软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。被YellowDogLinux本身,以及Fedora、RedHatEnterpriseLinux采用。挂载linux操作系统ISO文件。从系统安装包.ISO中拷贝文件:media.repo至/etc/yum.repos.d/中。修改media.repo如下

图3.14配置本地YUM界面检查是否配置成功清除之前的缓存图3.15YUM配置过程查看仓库列表【yumlist

】图3.16YUM配置完成界面

配置IP地址临时配置:使用ifconfig命令,立即生效,但重启系统后配置信息将会丢失。图3.17临时配置IP界面永久配置:将配置信息写入文件/etc/sysconfig/network-scripts/ifcfg-eth0中,重新启动网络服务后生效,同时设置开机自启动。DHCP模式:图3.18配置DHCP模式静态IP:图3.19手动配置静态IP设置开机自启:chkconfig图3.20查看是否设置自启动成功重启网络服务图3.21重启网络服务界面(仅主机模式为例)测试:图3.22测试网络是否通畅关闭SELinux与防火墙。将/etc/selinux/config文件中SELINUX变量设置为disabled保存后退出,如下图:图3.23关闭SELinux界面图3.24关闭并禁用防火墙界面检查硬件(磁盘空间,内存)是否符合要求图3.25检查磁盘空间与内存情况界面软件安装Linux系统中,软件通常以源代码或者预编译包的形式提供。软件源代码需要编译为二进制的机器代码才能够使用,安装比较耗时,不过可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化。预编译的软件包,通常是由软件的发布者进行编译,只要将软件拷贝到系统中就可以。考虑到预编译软件包的适用性,预编译软件包通常不会针对某种硬件平台优化。它所包含的功能和组件也是通用的组合。Rpm包安装使用rpm命令:rpm–ivh加包全名选项:-i(install) 安装;-v(verbose)显示进度;-h(hash)显示进度;-nodeps不检测依赖性;—U(update)升级;-e(erase)卸载。由于直接使用rpm命令无法自动解决依赖关系,由DukeUniversity团队,修改YellowDogLinux的YellowDogUpdater开发而成Yum(YellowdogUpdater,Modified),是一个基于RPM包管理的字符前端软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。被YellowDogLinux本身,以及Fedora、RedHatEnterpriseLinux采用。例如安装gcc编译器:图3.26使用RPM安装gcc编译器源码包安装下载源码包解压缩下载的源码包进入解压缩目录执行./configure软件配置与检查,定义需要的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑make——编译makeinstall——编译安装创建快照和克隆虚拟机快照VMware的快照功能可以帮助我们给虚拟机的某种状态进行一次快照状态保存,以便以后对虚拟机的某种状态进行快速恢复。需要注意的是,快照功能只是VMware的功能,真实的linux系统并不具备该功能,如果你用的并不是虚拟机中的linux系统,就需要注意对linux系统的相关文件进行备份。点击如下图所示的图标,就可以给当前的虚拟机状态进行一次快照保存。如图所示可以选择拍摄快照及快照管理器。图3.27建立虚拟机快照界面图3.28虚拟机快照管理器界面克隆虚拟机VMware的克隆功能是另外一个非常方便的功能。它可以帮助你迅速克隆出当前虚拟机的一个副本,而且无需占用较多的磁盘空间。比如,你需要多台linux系统做服务器集群测试时,就可以使用克隆功能。如果你重新再创建一个虚拟机,然后安装操作系统,不仅需要花费较长的时间,而且新的虚拟机也会占用较多的磁盘空间。而克隆就不一样了,它可以快速克隆出一个当前虚拟机的副本,而且只需占用几十兆的磁盘空间(需采用链接克隆的方式)。因此,克隆功能非常方便和实用。图3.29选择克隆虚拟机界面利用VMware的快照与克隆功能搭建基本实验环境如下:图3.30创建的ApacheServer虚拟机图3.31创建的DHCPServer虚拟机图3.32创建的DNSServer虚拟机图3.33创建的Client虚拟机第4章仿真实验平台搭建搭建Apache服务器ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。Apache起初由伊利诺伊大学香槟分校的国家超级电脑应用中心(NCSA)开发。此后,ApacheHttpd被开放源代码团体的成员不断的发展和加强。ApacheHttp网站服务器拥有牢靠可信的美誉,已经在全球超过半数的网站中被使用-特别是几乎所有最热门和访问量最大的网站。比方说,维基百科网站服务器就是使用Apache的。刚开始发展时,Apache只是Netscape网页服务器(现在是SunONE(英语:SunONE))之外的开放源代码选择之一。慢慢地,它开始在功能和速度超越其他基于Unix的HTTP服务器。到了Apache2.x的时代,实际效率又比Apache1.x更快,2.x比1.x能同时服务更多的网页连接数。1996年4月以来,Apache一直是Internet上最流行的HTTP服务器:1999年5月它在57%的网页服务器上运行,到了2005年7月这个比例上升到了69%。在2005年11月最风光的时候达到接近70%的市占率,不过在部分拥有大量域名的主机域名商转换为微软IIS平台后,Apache市场占有率近年来呈现些微下滑。同时搜索引擎巨擘Google自己的网页服务器平台GWS推出后(也可说是一种修改版的Apache[3]),再加上nginx、Lighttpd等轻量化网页服务器软件在市场上有一些能见度,这些因素都反应在整体网页服务器市场占有率的消长,Apache的市场占有率就随之滑落。根据Netcraft(英语:Netcraft)在2009年12月的最新统计数据,Apache的市场占有率已经降为53.67%,IIS降为18.26%,谷歌网页服务器13.53%,nginx8.75%。尽管如此,Apache及其各种分支版本仍旧是当前互联网市场上,市场占有率最高的网页服务器软件Apache支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程语言支持到身份认证方案。一些通用的语言接口支持Perl,Python,Tcl,和PHP。流行的认证模块包括mod_access,mod_auth和mod_digest。其他的例子有SSL和TLS支持(mod_ssl),代理服务器(proxy)模块,很有用的URL重写(由mod_rewrite实现),定制日志文件(mod_log_config),以及过滤支持(mod_include和mod_ext_filter)。Apache日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分析。Apache的2.x版本核心在Apache1.x版本之上作出了重要的加强。这包括:多线程,更好的支持非UNIX平台(例如Windows),MPM,新的ApacheAPI,以及IPv6支持。《PCMagazine(英语:PCMagazine)》2004年8月评出了近30年以来的10款最佳软件产品。他们其中或者是有过最辉煌的历史,或者是最具创意。其对Apache的评价是:第三名:Apache(1995年推出),目前已经演变成了“LAMP”,即Linux、Apache、MySQL和PHP的联合体。这是一个开放源代码软件项目,已经对微软的“.NET”战略构成严重威胁。尤其是Apache网络服务器,让用户充分体验到开放源代码软件的稳定性、可靠性和可定制性。主要配置文件说明etc/httpd/conf/httpd.conf(主要配置文件)——httpd最主要的配置文件ServerTokensOS:告知用户端服务器的版本与操作系统,一般无需改动。ServerRoot"/etc/httpd":服务器设定的最顶层目录。PidFilerun/httpd.pid:放置PID的文件,方便Apache软件的管理只有相对路径(考虑ServerRoot设定值,文件路径在/etc/httpd/run/httpd.pid)Timeout60:持续连线等待时间,一般设置为300秒左右。KeepAliveOn:是否允许持续性的连线,亦即一个TCP连线可以具有多个文件资料传送的要求。MaxKeepAliveRequests500:与设定值KeepAlive有关,当KeepAlive设定为On时,则这个数值可决定该次连线能够传输的最大传输数量。为了增进效能则可以改大点,0代表不限制。KeepAliveTimeout15:在允许KeepAlive的条件下,则该次连线在最后一次传输后等待延迟的秒数。<IfModuleprefork.c>StartServers8:httpd时,唤醒多少个PID来处理服务。MinSpareServers5:最小的预备使用的PID数量。MaxSpareServers20:最大的预备使用的PID数量。ServerLimit256:服务器的限制。MaxClients256:可以容许多少个用户端同时连线到httpd。MaxRequestsPerChild4000/var/www/html/:预设的apache首页所在目录。/var/www/error/:如果因为服务器设定错误,或者是浏览器端要求的资料错误时,在浏览器上出现的错误信息就以这个目录的预设信息为主。/var/log/httpd/:预设的Apache登录信息存放文件。/usr/sbin/apachectl:Apache的主要可执行文件,是

shellscript,可以主动的侦测系统上面的一些设定值,让Apache的启动更简单。/usr/sbin/httpd:Apache的执行文件。准备安装环境使用RPM包安装所需的准备工作搭建本地YUM源。图4.1配置本地YUM界面使用源码包安装时所需的准备工作关闭防火墙与SELinux。搭建本地YUM源,安装GCC编译器。关闭不必要的服务。关闭或删除RPM包安装的软件准备可能用到的源码包(包括依赖包),安装辅助软件图4.2需要安装的源码包检查硬件(磁盘空间,内存)是否符合要求。搭建LAMP架构使用RPM包安装图4.3使用RPM包安装LAMP组件修改配置文件修改Apache服务器环境配置参数(/etc/httpd/conf/httpd.conf):权限、语言、功能模块等。PHP预设参数修改(/etc/php.ini):调整资源安全、上传流量限制MySQL的基本设置:设定MySQLroot密码与新增MySQL用户账号。测试LAMP架构启动http服务图4.4启动HTTP服务界面测试配置文件语法是否正确图4.5检查配置文件语法界面设置http服务自启动。检查当前http服务是否已经启动。图4.6http服务端口是否启动图4.7使用客户端浏览器检查http服务是否启动测试PHP模块功能在/var/www/html/目录中index.php文件中写入“hello!ThisisPHPfunctiontest!”图4.8生成测试网页在客户端浏览器登陆后显示界面如下:图4.9客户端验证界面启动MySQL并测试其基本功能启动MySQL数据库。图4.10启动MySQL数据库界面设置MySQL自启动查看MySQL数据库是否启动成功图4.11查看数据是否启动成功页面图4.12查看本地是否可以登录设置MySQLroot密码图4.13设置MySQLroot密码界面新建MySQL账号图4.14查看新创建MySQL账号界面搭建DNS服务器DNS简介网域名称系统(英文:Domain

Name

System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS最早于1983年由保罗·莫卡派乔斯(Paul

Mockapetris)发明。使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统DNS。名字到IP地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。域名因特网采用了层次树状结构的命名方法,任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。其结构由标号序列组成,各标号之间用点隔开:….三级域名.二级域名.顶级域名,各标号分别代表不同级别的域名。域名只是个逻辑概念,并不代表计算机所在的物理地点。变长的域名和使用有助记忆的字符串,是为了便于人来使用。而IP地址是定长的32位二进制数字则非常便于机器进行处理。域名中的“点”和点分十进制IP地址中的“点”并无一一对应的关系。点分十进制IP地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。DNS的阶层架构与TLD图4.15DNS阶层示意图顶级域名(TLD),分为国家顶级域名nTLD(如.cn表示中国,.us表示美国,.uk表示英国等等)和通用顶级域名(gTLD)。其中通用顶级域名初始名称及代表意义如下表左侧,后续添加域名如下表右侧所示:表4.1gTLD域名表名称代表意义名称代表意义.com公司和企业.aero航空运输企业.org非盈利性组织、机构.biz公司和企业.edu美国专用的教育机构.cat加泰隆人的语言和文化团体.gov美国专用的政府部门.coop合作团体.net网络服务机构.info各种情况.mil美国专用的军事部门.mobi移动产品与服务的用户和提供者.int国际组织.name个人…….pro有证书的专业人员…….trave旅游业Zone、正解与反解的概念Zone:一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。图4.16区的不同划分方法正解:从主机名查询到IP的流程反解:从IP反解析到主机名的流程域名的解析过程主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文。图4.17本地域名服务器迭代查询示意图本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。图4.18本地域名服务器递归查询示意图主要配置文件说明主配置文件/etc/named.conf分析options{#选项listen-onport53{;};#服务监听端口为53listen-on-v6port53{::1;};#服务监听端口为53(ipv6)directory"/var/named";#配置文件存放的目录dump-file"/var/named/data/cache_dump.db";#解析过的内容的缓存statistics-file"/var/named/data/named_stats.txt";#静态缓存(一般不用)memstatistics-file"/var/named/data/named_mem_stats.txt";#静态缓存allow-query{localhost;};#允许连接的客户机recursionyes;#轮训查找dnssec-enableyes;#DNS加密dnssec-validationyes;#DNS加密高级算法dnssec-lookasideauto;#DNS加密的相关东西/*PathtoISCDLVkey*/bindkeys-file"/etc/named.iscdlv.key";#加密用的key(私钥公钥的加密,很强)/*默认安装没有这一项的设置转发,本服务器不能解析的域名交由下面设置的DNS服务器去解析*/forwardfirst;//forward指令用户设置DNS转发的工作方式,可以设置"first"或是"only","first"设置优先使用forwardersDNS服务器做域名解析,如果查询不到再使用本地DNS服务器作域名解析;"only"设置只使用forwardersDNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败。forwarders{66;6;};};logging{#日志channeldefault_debug{file"data/named.run";#运行状态文件severitydynamic;#静态服务器地址(根域)};};zone"."IN{#根域解析typehint;file"named.ca";#根域配置文件};include"/etc/named.rfc1912.zones";#扩展配置文件(新开域名)/etc/named.rfc1912.zones文件分析zone"localhost.localdomain"IN{#本地主机全名解析typemaster;#类型为主域file"named.localhost";#域配置文件(文件存放在/var/named目录中)allow-update{none;};#不允许客户端更新};zone"localhost"IN{#本地主机名解析typemaster;file"named.localhost";allow-update{none;};};zone""IN{#ipv6本地地址反向解析typemaster;file"named.loopback";allow-update{none;};};zone"27."IN{#本地地址反向解析typemaster;file"named.loopback";allow-update{none;};};zone"0."IN{#本地全网地址反向解析(和/域更新用的)typemaster;file"named.empty";allow-update{none;};};/var/named/named.localhost文件分析$TTL1D#更新为最长1天@(使用域的域名)INSOA(权威DNS服务器)@(权威DNS服务器的名称)rname.invalid.(rname@invalid的邮件)(0;serial#域名版本号,主域版本号要比辅域版本号大,辅域才会进行同步.1D;refresh#辅助域名服务器刷新时间1H;retry#辅助域名服务器重新检测时间1W;expire#辅助域名服务器放弃检测时间3H);minimum#有效的最小生存期限#以上这五个参数是控制辅助域名服务和主域名服务通信用的NS(域名服务器)@(域名服务器名称)A(正向解析)(正向解析的ip)AAAA(ipv6正向解析)::1(ipv6正向解析的ip)重要名词解释:A记录:A(Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的webserver上。同时也可以设置您域名的二级域名。必须需要到注册商的域名管理界面去设置成正确的有效稳定的DNS。在注册商修改DNS可能需要24-72小时才能反映在根服务器上。 TTL:TTL值全称是“生存时间(TimeToLive)”,简单的说它表示DNS记录在DNS服务器上缓存时间。 MX记录设置:MX记录是邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mailserver上,然后即可自行操控所有的邮箱设置。您只需在线填写您服务器的IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。大多数SMTP要求MX记录指向一个主机名。因此请将MX记录指定到一个主机名,而不是IP地址。 CNAME记录:CNAME记录是别名记录。这种记录允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。这两个别名的全称就是和“”。实际上他们都指向“”。NS:NS(NameServer)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。比如:NS1.BLUEHOST.COM;NS2.BLUEHOST.COMURL:URL(UniformResourceLocator)网址转发功能,如果没有一台独立的服务器(也就是没有一个独立的IP地址)或者还有一个域名B,想访问A域名时访问到B域名的内容,这时就可以通过URL转发来实现。url转发可以转发到某一个目录下,甚至某一个文件上。而cname是不可以,这就是url转发和cname的主要区别所在搭建DNS服务器安装BIND软件在虚拟机DNSServer上安装BIND软件,使用RPM包安装图4.19查看BIND软件是否安装修改配置文件vi

/etc/named.conf修改主配置文件,修改完毕,保存退出,如下图:3图4.20修改named.conf配置文件界面修改named.rfc1912.zones文件,新建正向解析Zone如下图:43图4.21修改named.rfc1912.zones配置文件界面添加设置DNS正向解析

修改zone配置文件,正向解析(注意跟主配置文件/etc/named.rfc1912.zones里面定义的zone文件名一致。):图4.22修改正向解析配置文件界面启动DNS服务8图4.23启动named服务检查bind文件配置是否有错误以下命令用以检查bind配置文件及zone文件语法named-checkconf

/etc/named.confnamed-checkzone

/var/named/

.zone10启动重启DNS服务,查看服务状态service

named

restartservice

network

restart测试DNS服务器在服务器本地进行测试:图4.24本地测试DNS服务使用客户端进行测试:图4.25客户端配置DNS服务图4.26客户端测试DNS服务由以上测试结果可知,DHCP服务器配置成功。DHCP服务器DHCP简介动态主机设定协定(DynamicHostConfigurationProtocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网路或网络服务供应商自动分配IP地址给用户;用于内部网路管理员作为对所有电脑作中央管理的手段。目的是为了减轻TCP/IP网络的规划、管理和维护的负担,解决IP地址空间缺乏问题。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。DHCP使用了租约的概念,或称为计算机IP地址的有效期。租用时间是不定的,主要取决于用户在某地连接Internet需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。通过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。DHCP和另一个网络IP管理协议BOOTP类似。目前两种配置管理协议都得到了普遍使用,其中DHCP更为先进。某些操作系统,如WindowsNT/2000,都带有DHCP服务器。DHCP或BOOTP客户端是装在计算机中的一个程序,这样就可以对其进行配置操作。DHCP用一台或一组DHCP服务器来管理网络参数的分配,这种方案具有容错性。即使在一个仅拥有少量机器的网络中,DHCP仍然是有用的,因为一台机器可以几乎不造成任何影响地被增加到本地网络中。甚至对于那些很少改变地址的服务器来说,DHCP仍然被建议用来设置它们的地址。如果服务器需要被重新分配地址的时候,就可以在尽可能少的地方去做这些改动。对于一些设备,如路由器和防火墙,则不应使用DHCP。把TFTP或SSH服务器放在同一台运行DHCP的机器上也是有用的,目的是为了集中管理。DHCP也可用于直接为服务器和桌面计算机分配地址,并且通过一个PPP代理,也可为拨号及宽带主机,以及住宅NAT网关和路由器分配地址。DHCP一般不适用于使用在无边际路由器和DNS服务器上。图4.27DHCP的体系结构DHCP协议工作过程DHCP使用客户-服务器方式进行工作,需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为DHCP客户。本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池(addresspool)中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER)。图4.28DHCP协议工作过程图DHCP服务器被动打开UDP端口67,等待客户端发来的报文。DHCP客户从UDP端口68发送DHCP发现报文。凡收到DHCP发现报文的DHCP服务器都发出DHCP提供报文,因此DHCP客户可能收到多个DHCP提供报文。DHCP客户从几个DHCP服务器中选择其中的一个,并向所选择的DHCP服务器发送DHCP请求报文。被选择的DHCP服务器发送确认报文DHCPACK,进入已绑定状态,并可以开始使用得到的临时IP地址了。DHCP客户现在要根据服务器提供的租用期T设置两个计时器T1和T2,它们的超时时间分别是0.5T和0.875T。当超时时间到就要请求更新租用期。租用期过了一半(T1时间到),DHCP发送请求报文DHCPREQUEST要求更新租用期。DHCP服务器若同意,则发回确认报文DHCPACK。DHCP客户得到了新的租用期,重新设置计时器。DHCP服务器若不同意,则发回否认报文DHCPNACK。这时DHCP客户必须立即停止使用原来的IP地址,而必须重新申请IP地址(回到步骤2)。若DHCP服务器不响应步骤f的请求报文DHCPREQUEST,则在租用期过了87.5%时,DHCP客户必须重新发送请求报文DHCPREQUEST(重复步骤f),然后又继续后面的步骤。DHCP客户可随时提前终止服务器所提供的租用期,这时只需向DHCP服务器发送释放报文DHCPRELEASE即可。DHCP服务器分配给DHCP客户的IP地址的临时的,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址。DHCP协议称这段时间为租用期。租用期的数值应由DHCP服务器自己决定。DHCP客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。主要配置文件说明DHCP主要配置文件为/etc/dhcp/dhcpd.conf,其模板文件为dhcpd.conf.sample需要将模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample覆盖主配置文件:/etc/dhcp/dhcpd.conf。其主要内容如下:ddns-update-stylenone;default-lease-\o"time命令"time21600;max-lease-time43200;optiondomain-name"";optiondomain-name-servers00;subnetnetmask{range0000;optionsubnet-mask;optionrouters;hostserver1{hardwareethernetb0:c0:c3:22:46:81;fixed-address00;}}其主要参数可以概括为如下几类:ddns-update-style参数:设置DHCP服务器与DNS服务器的动态信息更新模式,一般的DHCP服务器可以不考虑设置该项,但是全局设置中一定要包括ddns-update-style的设置dhcpd才可以正常启动。设置为:interim表示与DNS互动更新,设置为:none表示不自动更新。default-lease-time参数:设置默认租约时间,参数值单位是秒。默认租约时间表示客户端从服务器租用一个IP地址的默认时间,到大时间后客户端会向服务器提出继续租用该IP地址的请求。max-lease-time参数:设置最大租约时间,参数值单位是秒。当客户端租约的地址到大这个时间,就不能继续租用该IP地址。optiondomain-name参数:设置主机所在域的名称,设置的域名和主机名称一起组成主机全名。optiondomain-name-servers参数:设置DNS服务器地址,设置后客户机DNS会使用该地址,如果要设置多个DNS地址,用逗号隔开。使用subnet声明设置子网属性subnet后面设置网络地址,netmask后面设置子网掩码。range参数:是设置subnet中可供动态分配的IP地址范围(参数值一定要是subnet设置的子网之内,否则不能启动)。subnet-mask参数:设置子网掩码,设置子网掩码之后一般不需要再设置网络地址和广播地址。routers参数:是设置默认网关。使用host声明设置主机属性,通常用于为服务器分配好固定使用的IP地址,host后面需要为DHCP客户端主机设置主机名称。hardware参数:是设置客户端主机的物理地址(MAC地址),因为通常使用的都是以太网,所以hardware参数类型设置为ethernet。fixed-address参数:设置在host声明中指定的客户端分配固定使用的IP地址。搭建DHCP服务器在虚拟机DHCPServer上安装DHCP软件,使用RPM包安装图4.29查看DHCP相关软件是否安装编辑/ect/dhcpd.conf文件,设置IP资源池网络地址为,IP地址范围:0-0.图4.30编辑dhcp.config配置文件启动DHCP服务器Servicedhcpdstart或者:/etc/rc.d/init.d/dhcpdrestart图4.31启动服务器检测是否正常启动,使用netstat–utll命令查看是否出现bootps,出现则说明dhcpd服务启动成功。图4.32使用netstat命令查看测试DHCP服务器将客户端IP配置为DHCP模式图4.33配置客户端为DHCP模式重启客户端网络服务查看客户端获取的IP地址情况如下:图4.34ifconfig命令查看客户端网卡配置信息查看服务器端租约文件图4.35查看客户端租约文件查看客户端租约文件,进一步验证图4.36查看客户端租约文件第5章Apache仿真实验平台整体功能测试本设计的目的为使用搭建的DHCP服务器为Apache服务器、DNS服务器分配固定IP,为客户端分配动态IP,同时分配默认网关以及DNS(实验平台的DNS服务器)Client客户机通过DNS服务器域名解析访问Apache服务器。因此整体功能的测试将从以上几个方面着手展开。测试DHCP服务器能否按要求进行IP地址分配DHCP服务器IP地址分配要求:表5.1DHCP服务器IP地址分配要求名称用途操作系统版本IP地址MAC地址ApacheServerApache服务器Rehel6.5EnterprisesDHCP分配固定IP(52)00:50:56:28:6D:16DNSServerDNS服务器Rehel6.5EnterprisesDHCP分配固定IP(53)00:0C:29:5F:E5:38Client客户端WinXPDHCP服务器动态分配/按照上表要求修改DHCP服务器配置文件如下图:图5.1修改DHCP服务器配置文件检测Apache服务器IP分配情况将Apache服务器配置为DHCP模式,修改配置文件如下:图5.2配置Apache服务器为DHCP模式重启网络服务并使用ifconfig命令查看信息,分配到的IP为:52,符合预期要求,测试成功:图5.3重启Apache服务器网络服务查看其网卡配置信息查看/var/lib/dhclient/dhclient-eth0.leases文件,进一步确认IP地址分配情况如下图,测试成功:图5.4查看Apache服务器租约文件检测DNS服务器IP分配情况将DNS服务器配置为DHCP模式,修改配置文件如下:图5.5配置DNS服务器为DHCP模式重启网络服务并使用ifconfig命令查看信息,分配到的IP为:53,符合预期要求,测试成功:图5.6重启DNS服务器网络服务查看其网卡配置信息查看/var/lib/dhclient/dhclient-eth0.leases文件,进一步确认IP地址分配情况如下图,测试成功:图5.7查看DNS服务器租约文件检测客户端IP分配情况将客户端配置为DHCP模式,修改配置文件如下:图5.8配置Client为DHCP模式查看分配到的IP地址信息为1,符合预期要求,详情如下图:图5.9查看Client动态分配到的IP配置信息测试DNS服务器能否按照要求对WEB域名进行解析在客户端浏览器输入IP:52,结果如下图,成功访问搭建的ApacheServer,测试成功。图5.10使用IP地址访问ApacheServer在客户端浏览器输入,结果如下图,成功访问搭建的ApacheServer,DNS服务器功能测试成功。图5.10使用域名访问ApacheServer第6章结论遇到的问题及解决方法问题一:克隆的虚拟机无法启动网卡eth0。问题描述报错信息如下图:图6.1报错信息使用ifconfig命令查看相关信息,发现只有lo的信息:图6.2ifconfig命令查看网卡配置信息分析过程:查看网卡eth0配置文件,如下无明显错误。 图6.3查看网卡配置文件查看日志文件:/var/log/messages,找到相关的日志信息如下:图6.4查看日志文件初步结论:由于基本系统的网络相关配置都是基于eth0的,如果基于此克隆虚拟机继续克隆或复制新的虚拟机,网卡的标识每一次都会自动加1变成eth1(第二次克隆会变成eth2),dmesg却显示内核只识别到网卡eth0。很多Linuxdistribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。例如在centos中,udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而VMware会自动生成虚拟机的mac地址。这样,由于基本系统的虚拟机已经记录了该虚拟机的网卡mac地址对应于网卡eth0,在克隆出的虚拟机中由于mac地址发生改变,udev会自动将该mac对应于网卡eth1。以此类推,udev会记录所有已经识别的mac与网卡名的关系,所以每次克隆网卡名称会自动加1,而其实kernel仅仅只识别到一张网卡,跟网卡名相关的网络配置也未发生任何变化。解决方案:udev将mac与网卡名称保存在/etc/udev/rules.d/70-persistent-net.rules

中,考虑修改该配置文件,文件内容如下图6.5查看/etc/udev/rules.d/70-persistent-net.rules文件处理步骤步骤1:将克隆出的虚拟机中只要删除与NAME="eth0"相关的行,并把下行的eth1的改为eth0;并记录一下

ATTR{address}

的值;

步骤2:记录此克隆机MAC地址,然后编辑

#vi/etc/sysconfig/network-scripts/ifcfg-eth0

将HWADDR修改为新生成的MAC地址

同时重新配置

IPADDR

;步骤3:重启系统后,重启网络服务成功。图6.6重启网络服务问题二:DHCP服务启动失败错误信息详情图6.7错误信息解决过程查看日志文件:/var/log/messages,找到相关的日志信息如下:图6.8查看日志文件错误分析及更正由日志提示,主文件中第31行存在错误,查看配置文件,发现该行结尾缺少一个分号,更正后重启服务成功。图6.9重启dhcpd服务总结本文基于VMware的Apache服务器仿真实验平台设计与实现,模拟搭建了一台Apache服务器,一台DNS服务器,一台DHCP服务器,一台Client客户端,经过单独及整体测试及验证,结果表明DHCP服务器能够按照要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论