石河子大学信息科学与技术学院
计算机网络课程设计报告
基于Linux平台(RedHat)安装配置实现Web 课题名称:
服务器
学生姓名:徐玉芳
学号:2011508040
学院:信息科学与技术学院
专业年级:计科11
指导教师:邵闻珠
完成日期:2013-12-30
目录:
1.课题任务名称 (2)
1.1课题任务: (2)
1.2课题要求: (2)
2. 相关理论背景/基础知识概述 (2)
3实践环境/条件及资源说明 (3)
4.实践任务内容 (5)
4.2.1全局环境配置: (6)
4.2.2主服务配置: (8)
4.2.3虚拟主机配置 (10)
5.过程步骤说明 (11)
5.1 启动 Linux RedHat系统 (11)
5.2实现Web服务器安装配置 (12)
6、结论 (20)
7总结与体会 (21)
1.课题任务名称
1.1课题任务:
基于Linux平台(RedHat)安装配置实现Web服务器
1.2课题要求:
给出Apache服务器配置文件的存储位置和全部内容,包括其中全部选项的含义及作用、配置建议。
2.相关理论背景/基础知识概述
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache源于NCSA httpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一,它可以运行在几乎所有广泛使用的计算机平台上。
Apache取自“a patchy server”的读音,意思是充满补丁的服
务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
Apache web服务器软件拥有以下特性:支持最新的HTTP/1.1通信协议;拥有简单而强有力的基于文件的配置过程;支持通用网关接口;支持基于IP和基于域名的虚拟主机;支持多种方式的HTTP认证;集成Perl处理模块;集成代理服务器模块;支持实时监视服务器状态和定制服务器日志;支持服务器端包含指令(SSI);支持安全Socket 层(SSL);提供用户会话过程的跟踪;支持FastCGI;通过第三方模块可以支持Java Servlets。
Apache Web服务器中有三个重要的文件,一个是Web服务器配置文件httpd.conf,通过该文件可以按照服务器运行的需要灵活地对其进行配置,本课程设计中主要对其进行操作。另外两个是日志文件,一个是access.log 文件,另一个是error.log 文件,前者记录了Web服务器的每一次访问详细情况,另一个记录了访问该服务器出现错误的情况,通过对这两个文件的查看,可以了解服务器的运行访问状态。
3实践环境/条件及资源说明
该课程设计要求基于Linux平台(RedHat)安装配置实现Apache
Web服务器,因为我的机子是Windows系统,所以本次实验任务是在虚拟机上进行的。
Redhat(红帽)是桌面虚拟化[世界领先的开源解决方案供应商,使用社区驱动的方式提供可靠和高性能的云、虚拟化、存储、Linux®和中间件技术。
Red Hat因其易于安装而闻名,在很大程度上减轻了用户安装程序的负担。RedHat作为Linux的发行版本,开放源代码是与其他操作系统,如Windows等相比具有的先天优势,有利于全世界范围内技术工程师和技术人员共同开发,同时RedHat也为开源社区做出巨大贡献,有开源界的领导者的称号。
我的虚拟机版本是Oracle VM VirtualBox,VirtualBox号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异!它简单易用,可虚拟的系统包括Windows(从Windows 3.1到Windows8、Windows Server 2012,所有的Windows系统都支持)、Mac OS X(32bit 和64bit都支持)、Linux(2.4和2.6)、OpenBSD、Solaris、IBM OS2甚至Android 4.0系统等操作系统!
与同性质的VMware及Virtual PC比较下,VirtualBox独到之处包括远端桌面协定(RDP)、iSCSI及USB的支持,VirtualBox在客户端操作系统上已可以支持USB 2.0的硬件装置。
虚拟机的特点:⒈不需要分区或重开机就能在同一台PC上使用
两种以上的操作系统。⒉完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料。⒊不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制粘贴功能。⒋有复原(Undo)功能。⒌能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空间、周边设备等等。⒍热迁移,高可用性。
通过虚拟机软件,可以在一台物理计算机上模拟出二台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。对用户而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就是一台真正计算机。
所以在虚拟机上进行Linux RedHat的安装并且在虚拟机上配置实现Apache Web服务器是完全可行并且十分方便的的。
4.实践任务内容
本次实验任务是给出Apache服务器配置文件的存储位置和全部内容,包括其中全部选项的含义及作用、配置建议等。
Apache服务器的服务名是httpd,httpd.conf文件是配置apache 服务器的主配置文件,所以在本次实验中主要是对httpd.conf文件进行配置。
4.1文件全局说明
基于 NCSA 服务的配置文件。这是Apache服务器主要配置文件。
它包含服务器的影响服务器运行的配置指令。
不要只是简单的阅读这些指令信息而不去理解它。这里只是做了简单的说明,如果你没有参考在线文件,就会被警告。
这些配置指令被分为下面三个部分:
1. 控制整个Apache服务器行为的部分(即全局环境变量)
2. 定义主要或者默认服务参数的指令,也为所有虚拟主机提供默认的设置参数响应虚拟主机不能处理的请求,同时也提供所有虚拟主机的设置值。
3. 虚拟主机的设置参数,在一个Apache服务器进程中配置不同的IP地址和主机名。
4.2 各选项及其含义及部分配置建议
4.2.1全局环境配置:
1.ServerType 可取值 inetd 或 standalone. Inetd 只适用于Unix平台
2.ServerRoot: 目录树的根结点。服务器配置、出错信息、日志文件都保存在根目录下。
3.PidFile: 服务器用于记录启动时进程ID的文件。4.ScoreBoardFile: 用于保存内部服务器进程信息的文件。5.Timeout: 接受和发送timeout的时间
6.KeepAlive: 是否允许保持连接(每个连接有多个请求)
7.MaxKeepAliveRequests n: 每个连接的最大请求数。设置为0表示无限制。当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache 非常繁忙的站点调节这个参数才是必要的。8.KeepAliveTimeout: 同一连接同一客户端两个请求之间的等待时间。
9.MaxRequestsPerChild: 每个子进程死亡之前最大请求数,如果超过这个请求数,子程序会自动退出,避免延期使用导致内存溢出或其他问题。对Win32, 可设置为0 (无限制)
10. ThreadsPerChild: 服务器所允许的并发线程数。
此值的设置取决于服务器的响应能力和服务器所允许消耗的系统资源。
11. Listen: 允许将Apache绑顶到指定的IP地址和端口,作为默认值的辅助选项。
12. BindAddress: 通过此选项可支持虚拟主机。此标识用于告诉服务器只监听哪个IP地址。BindAddress 192.168.0.1 这样就能使得apache只监听外界对192.168.0.1的http请求。如果使用:BindAddress * 就表明apache监听所有网络接口上的http请求。当然用防火墙也可以实现。
13. ExtendedStatus 在服务器状态句柄被呼叫时控制是产生"完整"的状态信息(ExtendedStatus On)还是仅返回基本信息(ExtendedStatus Off) 默认是:Off。
4.2.2主服务配置:
1.Port: Standalone服务器监听的端口。
2.ServerAdmin: 你的邮箱地址。如果服务器有任何问题将发信到这个地址。
3.ServerName 允许设置主机名。如果与程序获得的不同,主机名将返回客户端。
主机名不能随便指定。必须是你的机器有效的DNS名称。否则无法正常工作。如果你的主机没有注册DNS名,可在此输入IP地址。
4.DocumentRoot: 放置服务文档的目录。默认状态下,所有的请求都以这个目录为基础。
https://www.wendangku.net/doc/6410730014.html,erDir: 当请求~user时,追加到用户主目录的路径地址。
6.DirectoryIndex: 预设的HTML目录索引文件名。用空格来分隔多个文件名。
7.AccessFileName: 每个目录中用于控制访问信息的文件名。
8.CacheNegotiatedDocs: 默认下,Apache对每个文档发送"Pragma:
no-cache",这将要求代理服务器不缓存此文档。
https://www.wendangku.net/doc/6410730014.html,eCanonicalName:当此设置为on时,无论何时Apache需要构建一个自引用的URL(指向响应来源服务器),它将用ServerName和Port来构建一个规范的格式。当此设置为off时,Apache将使用客户端提供的"主机名:端口",这将同时影响CGI脚本中的SERVER_NAME和SERVER_PORT。
10. TypesConfig 记录媒体类型(mime.types)文件或类似的文件
放置的位置。
11. DefaultType 是服务器处理未确认类型的文件。
如果你的服务器上主要包含的是文本或HTML文档,"text/plain"
是较好的设置
如果服务器上主要包含二进制文件,如应用程序或图片,最好设置成"application/octet-stream"防止浏览器将二进制文件以文本的方式显示。
12. mod_mime_magic模块允许服务器使用文件自身的不同标识来确定文件类型。不是默认服务器的一部分。
13. MIMEMagicFile指示模块文件标识的定义所在的位置。
14. HostnameLookups: 注册客户端的机器名或IP地址。默认为off,
因为对于网络来说,最好让人们有意识的设置为on,因为开启此功能意味着每个客户请求将导致至少向name服务器发送一个lookup请求。
15. ErrorLog: 错误记录文件的地址。
16. LogLevel: 控制记录在error.log中信息的个数.可能的值:
debug, info, notice, warn, error, crit, alert, emerg.
17. ScriptAlias: 控制哪个目录包含服务器脚本。
18. Redirect 允许告诉客户端服务器上曾经有的文档,但是现在不
存在了。并且可以告诉客户端到哪儿去寻找。格式: Redirect old-URL new-URL。
19. FancyIndexing标识是使用特定的目录检索还是标准的
(standard)。
20. AddIcon*表明不同文件或扩展名显示的图标。
21. DefaultIcon 用于为制定图标的文件所显示的图标。
22. AddDescription在服务器生成的检索的某个文件后追加小段说
明。此项只在设置为FancyIndexed时有效。
23. ReadmeName是服务器默认的README文件。并且会追加到目录列
表的最后。
24. HeaderName 是目录中需要预先显示内容的文件名。
25. IndexIgnore是一系列的文件名,目录索引将忽略这些文件并且
不包含在列表中,允许使用通配符。
4.2.3虚拟主机配置
1.VirtualHost虚拟主机: 如果希望在一台服务器上实现多个域名
和主机名的服务,可设置VirtualHost来实现,用于申请一个无重复的服务器名。
2. NameVirtualHost:使用基于名称的虚拟主机。
虚拟主机格式如下:
ServerAdmin webmaster@https://www.wendangku.net/doc/6410730014.html,
DocumentRoot /www/docs/https://www.wendangku.net/doc/6410730014.html, ServerName https://www.wendangku.net/doc/6410730014.html,
ErrorLog logs/https://www.wendangku.net/doc/6410730014.html,-error_log
CustomLog logs/https://www.wendangku.net/doc/6410730014.html,-access_log common
DocumentRoot用来表示存放放置站点的文件夹(放置服务文档),ServerName是定义虚拟主机的域名,在用域名访问时需要使用。
5.过程步骤说明
5.1 启动Linux RedHat系统
进入虚拟机,启动Redhat Enterprise Linux Server 6.2
进入Linux(RedHat)界面
5.2实现Web服务器安装配置
1、打开redhat终端
2、使用httpd -v命令,查询linux系统中是否已存在Apache版本
信息,如果已存在使用‘service httpd shop ’命令关闭
结果如图,说明本机中没有发现任何apache版本信息,则可以继续进行,‘service httpd start’是服务开始命令‘service httpd restart’是服务重启命令,重启httpd服务,是配置文件生效
3、输入‘yum -y install httpd*’命令,安装http服务
Yum(全称为 Yellow dog Updater, Modified)Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
命令执行,直到出现‘complete!’语句,说明安装成功
4、查看默认目录
/var 目录,包括系统运行时要改变的数据。其中包括每个系统是特定的,即不能够与其他计算机共享的目录,如/var/log,/var/lock,/var/run。有些目录还是可以与其他系统共享,如/var/mail,/var/cache/man,/var/cache/fonts,/var/spool/news。var目录存在的目的是把usr目录在运行过程中需要更改的文件或者临时生成的文件及目录提取出来,由此可以使usr目录挂载为只读的方式。linux的命令都是基于shell的,可以选择不同的shell类型。
查询结果:本机web服务默认目录是/var/www/
5、修改httpd.conf文件
在终端中输入‘ vim/etc/httpd/conf/httpd.conf’命令,并按回车,打开该文件。‘Vim’是文本编辑器(或称文字编辑器)是用作编写普通文字的应用软件,它与文档编辑器(或称文字处理器)不同之处在于它并非用作桌面排版(例如文档格式处理)。它常用来编写程序的源代码。
命令完成后,到底端,按‘i’进行插入,将需要更改的配置从注释状态打开
查询本机ip ,使用‘ifconfig’命令
本机ip:10.0.2.15
修改配置选项
修改:1、DocumentRoot:该参数指定Apache服务器存放网页的路径,默认所有要求提供HTTP服务的连接,都以这个目录为主目录。
Apache的默认值:‘DocumentRoot /var/www/’
2、ServerName:该参数使得用户可以自行设置主机名,以取代安装Apache服务器主机的真实名字。此名字必须是已经在DNS服务器上注册的主机名。如果当前主机没有已注册的名字,可以指定IP 地址。我使用的是IP地址,‘ServerName 10.0.2.15’
修改之后,按‘esc’键退出插入修改状态,
并执行‘:wq’命令保存设置,开始web服务成功
7、在已存储的配置/var/www/ 中创建一个index.html的网页主页,执行‘vim /var/www/ index.html’命令
在编辑内容中按‘i’插入,然后写入‘This a html of 2011508040 !’,按‘esc’退出后,执行‘:wq’命令保存
8、开始运行服务,执行‘service httpd start’服务开始命令,使配置文件生效,则终端配置web服务结束