linux课程实验报告.doc_第1页
linux课程实验报告.doc_第2页
linux课程实验报告.doc_第3页
linux课程实验报告.doc_第4页
linux课程实验报告.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

实验名称:Linux下www服务器搭建姓名:王新磊学号:20074668班级:2007级网络四班实验内容:31:安装Apache软件32:配置www服务器33:建立个人web站点34:建立虚拟主机35:linux下dns架设36:apache+mysql+php3实验原理:31:WWW 原理32:DNS原理43 : DHCP原理74 : FTP原理8实验步骤和操作方法:91.web服务基本配置92.DNS服务配置103.DHCP 服务配置124.FTP服务配置125.Apache+mysql+php13实验结果和分析:161.web服务器162.DNS服务器183.dhcp服务器194.ftp服务器20讨论心得:21实验内容:Linux下www服务器架设(自己主机当服务器,访问本机)1 :安装Apache软件2 :配置www服务器3 :建立个人web站点4 :建立虚拟主机5 :linux下dns架设6 :apache+mysql+php实验原理:1 :WWW 原理WWW 是 World Wide Web 的缩写,其中, Web 有广播网的意思存在,所以,简单的说,WWW就是全球信息网,可以结合文字、图形、影像及声音等多媒体,并透过超级链接 ( HyperText ) 的方式,将信息透过 Internet 传递到世界各处!那 WWW 的数据是如何传递的呢? 如果你常上网浏览的话 ( 不论是使用 Mosilla 、IE 或是 Netscape ),你应该会知道,台湾有个蛮有名气的入口网站:奇摩雅虎站 ( ),所以你只要在网址列上面输入 就可以浏览到奇摩雅虎的网页信息!这个 就是所谓的 URL ( Uniform Resource Locator ) ,其中 就是所谓的主机名称,亦即是我们前面刚刚提过的 DNS 里头的 FQDN ( Fully Qualified Domain Name ) ,即是主机名称加上领域名称所得的一个独一无二的 Internet 上面之名字啦!由于计算机在网络里面仅认识 IP 而已,所以,奇摩雅虎站的真实 IP 就是透过 DNS 解析 而找到这部计算机,然后经过 WWW 的协议功能将数据传到你的眼前来!那么有哪些格式的 URL 呢?呵呵!整个来说,网址列可以输入这些: :/:port/o 协定:包括 http, ftp, news, gopher, telnet 这几种常见的方法! 其中呢,http 是利用主机的 http port ,通常为 80 ,至于 ftp 这个方法则是利用主机的 ftp port ,通常为 21 这个埠口,请注意喔,我们使用的 80 与 21 都是主机所提供的服务喔!而不是我们 client 端的 port,所以,使用 http 与 ftp 连上同一部计算机,所取得的信息并不见得会一样,因为服务本身就不同嘛!一个是 WWW 一个是 ftp 怎么会相同。此外,如果你没有指定协议的话,那么预设的协议就需要看客户端 ( Client ) 使用的那个联机程序的预设协议了!举个例子来说,如果你是使用 Netscape 的话,呵呵!那么预设的协议就是 http ,因此,你在网址列输入 时, Netscape 立刻就会以 http 来连接出去! o 主机地址:刚刚才提过的 FQDN 应该还没有忘记吧!由于计算机仅认识 IP ,所以,如果你输入 IP 的话,同样的可以联机喔!但是,如果是输入主机名称 ( domain name ) 的话,那么你就必需要让该主机名称可以经由转译器得到对应的 IP 喔!转译器是什么?就是 /etc/hosts 或者是 /etc/resolv.conf 里面的设定啊!当然,对外提供正常的 WWW 服务时,你的 host name 就必需要让大家可以转译到 IP ,就需要去申请一个合法的领域名称! o 目录资源:其实这个是 Uniform Resource Indicator, URI 的意思,如果你要去的网站网页在主网页的目录底下,那么你可以直接输入目录与网页的名称,就可以直接取得那个页面的数据!此外,如果你只输入网址而已呢?并没有输入网页名称呢?那么在 Server 端将会自动的判断 ( 看 Server 自己的设定而定 ) 该目录下是否有设定中引用的网页名称!这个在底下我们会再次的提到! o port:一般而言,各个协议都有其独特的使用的 port ,例如众所皆知的 http 使用的是 80 而 ftp 使用的是 21 这些个 port,所以,当你要连接到某个网站时,输入 就会主动的利用 80 那个 port 来尝试连接到对方主机!但是如果你不想要使用该 port 呢?举个例子来说,假如你的网站使用的是 8080 这个 port 来进行 WWW 的服务,果真如此的话,那么除非你有进行防火墙内的 port 对应,否则直接在网址列输入 结果将无法连接到你的 WWW 服务器,因为他会主动的连接到 80 那个 port !所以,我们就要告诉浏览器,要向 Server 要求服务的是哪一个 port ,因此,你就要将他写成: :80 !才可以连接到对方的 80 那个 port! 2 :DNS原理DNS 的全名是 Domain name system , 中文译名为领域名称系统, 这个咚咚的用途是什么哇!为什么我们的计算机或者是 Internet 一定需要他 ( 尤其是以 WWW 的方式来上网时 ) ?呵呵! 他最大的用途就是造福懒惰与记忆性薄弱的人类 哈哈!没错!为什么说他是造福人类呢?且听我娓娓道来:DNS 的历史: 早期(大约2030年前)的计算机可是贵重物资,一般人是可望而不可及的,因为计算机数量太少, 所以使用 /etc/hosts 来记忆这些 IP 与名称的对应还尚可应付。但是在现代, Internet 上面这么多主机,并且常常会突然的噗通又多出一部主机来服务, 那么我们总不能一个一个的将他输入在 /etc/hosts 里面吧!?对呀!真不聪明! 所以后来的这个时候就有所谓的领域名称解析系统, DNS出现啦! DNS 利用类似树状目录的型态,将主机名称的管理分配在不同层级的 DNS 主机当中,经由分层管理,所以每一部主机的记忆的信息就不会很多, 而且异动上面也相当的容易修改!那么这个 DNS 的功能您知道了吗?对啦!就是将计算机主机的名称转译成 IP 就是了!当然,他的额外功能还很多!总之,他的最大功能就是 让有意义的,人类较容易记忆的主机名称(英文字母),转译成为计算机所熟悉的 IP 地址! 举个例子来说好了,奇摩雅虎的网站的 IP 是 1 ,所以您可以在您的浏览器上面输入 1 来连上奇摩雅虎! 不过,我想没有几个人能够将这个 IP 背的起来的吧?!反之,我们却都知道奇摩雅虎的网址为 ,那么您只要输入 就可以连上 Internet 啦!很容易记忆吧! DNS 的查询过程: 接下来我们要谈一谈,那么 DNS 的 (1)架构是怎样? (2)查询原理是怎样?总是要先知道架构才能知道如何查询的!所以底下我们先来介绍一下整体的架构。DNS 的架构: 上面就是一个简单的 DNS 阶层架构,最上方一定是 . (小数点) 这个 root 的 DNS 主机,他底下管理的就只有 com, edu, gov, mil, org 与以国家为分类的第二层的主机名称了!例如台湾地区最上层的领域名称是以 .tw 为开头,管理这个领域名称的这部机器的 IP 是在台湾,但是他的记录则是记录在 . (root)那部机器里面的!还有其它的国家的最上层如 .cn 指的是大陆, .de 指的是德国一样!那么每个国家之下记录的主要的下层有哪些领域呢? 主要就是有这六大类: 名称 代表意义 com 公司、行号、企业 org 组织、机构 edu 教育单位 gov 政府单位 net 网络、通讯 mil 军事单位 DNS 的搜寻流程: 刚刚说过 DNS 是以类似树状目录 的型态来进行名称的管理的!所以每一部 DNS 主机都仅管理下一层 DNS 主机的名称转译而已, 至于下层的下层,则授权给下层的 DNS 主机来管理啦!这样说好像很绕口,好吧!我们就以下图来说一说原理: 首先,当您在浏览器的网址列输入 .tw 时,您的计算机就会依据相关设定( 在 Linux 底下就是利用 /etc/resolv.conf 这个档案 ) 所提供的 DNS 的 IP 去进行联机查询,好了,由于目前最常见的 DNS 主机就属 Hinet 的 这个 DNS 了,所以我们就拿他来做例子吧!嗯!这个时候, hinet 的这部主机会这样工作: 1. 先查看本身有没有纪录: 刚刚说过啦,由于 DNS 是层阶式的架构,任何一部 DNS 都仅记录下一层里面的主机名称对应的 IP 而已,由于 hinet 并非学术网络里面的主机,所以自然也就没有办法直接提供给 client 端关于 .tw 这部机器的 IP 了,所以啦,一般而言,这个时候 就会向最顶层,也就是 . (root) 的主机查询 .tw 这部机器的地址; 2. 向最顶层 ( root )查询: 由于 没有纪录我们主机的 IP ,这个时候他就会向最顶层. (root) 这部主机来查询 . (root) 的下一层,也就是 .tw 这部机器的数据了!这个时候, . (root) 就会告诉 说嘿!您要查 .tw 这个网域的管理者呀!?喝!我这里有 .tw 这个网域的管理的主机之 IP 信息,您可以直接去找他!; 3. 向第二层查询: 接着又到 .tw 去查询,而该部机器管理的又仅有 .edu.tw, .com.tw, gov.tw. 那几部主机,经过比对后发现我们要的是 .edu.tw 的网域,所以这个时候 .tw 又告诉 说:您要去管理 .edu.tw 这个网域的主机那里查询,我有他的 IP ! 4. 向下层持续查询: 好了,一步一步下来, .edu.tw 可以查到管理 ..tw 的主机 IP ; ..tw 可以查到管理 ..tw 的主机 IP ,而最后我们 .tw 就可在管理 ..tw 网域的那部主机的设定纪录当中查询到啦! 5. 记录暂存内存: 查到了 IP 之后,这部 的 DNS 机器总不会在下次有人查询 .tw 的时候再跑一次这样的流程吧!粉远粉累的吶!而且也很耗系统的资源与网络的频宽,所以呢, 这个 DNS 很聪明的会先记录一份 .tw 对应 IP 的信息在自己的暂存内存当中,以方便下一次又有人对同一个主机名称的要求之查询!最后则将结果回报给 client 端!当然啦,那个记忆在 cache 当中的数据,其实是有时间性的,当过了 DNS 设定记忆的时间(通常可能是 24 小时),那么该记录就会被释放喔! 3 : DHCP原理1. DHCP请求IP地址的过程 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。 l 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。 如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。 确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。 2. DHCP客户端续租IP地址的过程 DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。 如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送DHCPNAK消息给DHCP客户端。 3. DHCP客户端释放IP地址的过程 DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送DHCPRELEASE包,以释放该地址,同时将其IP地址设为。4 : FTP原理FTP Transfer Protocol 件传输协议的缩写,在RFC 959中具体说明。FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式PORT模式(主动方式) FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。PASV模式(被动方式) 在建立控制通道的时候和PORT模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接传送数据。如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND,这一点请特别注意,尤其是在使用防火墙的企业里,这一点非常关键,如果设置错了,那么客户将无法连接。实验步骤和操作方法:1. web服务基本配置1. 使用setup菜单完成TCP/IP网络配置;(1)在命令行运行setup,选择“Network Configuration”(2)选择“eth0(eth0)”(3)取消“Use DHCP”(4)配置IP地址和子网掩码为/(5)一层层退出(6)运行ifdown eth0禁用以太网卡(7)运行ifup eth0启用以太网卡并重新读取配置。(8)使用ifconfig检查eth0网卡的IP地址配置。2. Apache服务器基本配置查询Apache服务器是否安装:rpm -q httpd启动Apache服务器:service httpd start 设置Apache为自动启动:chkconfig httpd on编辑Apache主配置文件:vi usr/local/apache2/conf/httpd.conf(1)ServerRoot /usr/httpd:这是Apache的工作目录,不需修改(2)KeepAlive On:修改为On,使得一次TCP连接可以传输多个文件(3)Listen 192.168.11:80:修改HTTP服务监听IP地址和端口号(4)Include conf.d/*.conf:/etc/httpd/conf.d/*.conf都是Apache的附加配置文件,现在不需修改(5)ServerAdmin rootlocalhost:这是管理员的邮箱,可以修改为自己的邮箱(6)#ServerName :80:设置服务器名称,如果没有配置DNS解析,可以设置为IP地址和端口号的组合。把这一行修改为:ServerName :80(7)DocumentRoot /var/www/html:这是网站文档主目录,建议不要修改(8):设置主目录的属性Options Indexes FollowSymLinks:允许目录浏览,允许用符号链接建立虚拟目录。最好不允许目录浏览权限,即修改为:Options FollowSymLinksAllowOverride None:不允许“.htaccess”文件,不需修改 Order allow,deny:访问策略:如果没有明确允许,就拒绝访问 Allow from all:允许所有的访问,这两行都不需修改(9)DirectoryIndex index.html index.html.var:设置默认文档,可不修改(10)AddDefaultCharset UTF-8:设置默认字符集,对于简体中文网页,需要修改为:AddDefaultCharset GB2312(11)cd /var/www/html(12)vi index.html:添加主页文件,可随意输入内容(13)service httpd restart :重新启动Apache服务器(14)从XP访问:8080/,看是否看到刚才编辑的主页文件(15)重新编辑主配置文件,将监听端口改回80:Listen :80(16)service httpd restart :重新启动Apache服务器(17)从XP访问:80/,看是否看到刚才编辑的主页文件2. DNS服务配置1. 使用setup菜单完成TCP/IP网络配置;(1)在命令行运行setup,选择“Network Configuration”(2)选择“eth0(eth0)”(3)取消“Use DHCP”(4)配置IP地址和子网掩码为/(5)一层层退出(6)运行ifdown eth0禁用以太网卡(7)运行ifup eth0启用以太网卡并重新读取配置。(8)使用ifconfig检查eth0网卡的IP地址配置。2. 配置DNS主配置文件(1)rpm -q bind bind-chroot(2)cd /var/named/chroot/etc(3)vi named.conf(4)添加以下配置:(定义根域为hint类型,定义正向解析区域“”和反向解析区域“1.168.192.”,均为master类型,即主DNS服务器。)(见附件named.conf)3. 配置正向解析区域“”数据文件(1)cd /var/named/chroot/var/named(2)vi .zone(3)添加以下配置:(见附件.zone)4. 配置反向解析区域“1.168.192.” 数据文件(1)cd /var/named/chroot/var/named(2)vi 1.168.192..zone(3)添加以下配置:(见附件1.168.192..zone)5. 启动DNS服务器service named startchkconfig named on6. 验证DNS服务器在客户端XP运行cmd - nslookup验证DNS配置附件1:named.confoptions directory /var/named;zone . type hint; file named.ca;zone type master; file .zone;zone 1.168.192. type master; file 1.168.192 .zone ;附件2:.zone$TTL 86400INSOA .. (2009052200;serial28800;refresh14400;retry720000;expire86400;ttl)INNS .dnsINAwwwINA附件3:1.168.192..zone$TTL 86400INSOA .. (2009052200;serial28800;refresh14400;retry720000;expire86400;ttl)INNS.1INPTR.1INPTR.3. DHCP 服务配置1. 使用setup菜单完成TCP/IP网络配置;(1)在命令行运行setup,选择“Network Configuration”(2)选择“eth0(eth0)”(3)取消“Use DHCP”(4)配置IP地址和子网掩码为./(5)一层层退出(6)运行ifdown eth0禁用以太网卡(7)运行ifup eth0启用以太网卡并重新读取配置。(8)使用ifconfig检查eth0网卡的IP地址配置。2. 禁用vmware的DHCP服务(1)在vmware程序菜单中,选择Edit Virtual Network Editor(2)选择DHCP,点下面的stop,应用。3. 配置Linux DHCP服务器(1)rpm -q dhcp查询DHCP软件包是否安装(2)cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf(3)vi /etc/dhcpd.conf(4)做以下修改:subnet netmask option routers;option domain-name-servers ,30;range dynamic-bootp 00 00;(5)service dhcpd start(6)chkconfig dhcpd on4. 配置DHCP客户端验证运行-cmd-ipconfig就可以看到刚才的配置。4. FTP服务配置1. 使用setup菜单完成TCP/IP网络配置;(1)在命令行运行setup,选择“Network Configuration”(2)选择“eth0(eth0)”(3)取消“Use DHCP”(4)配置IP地址和子网掩码为/,网关为(5)一层层退出(6)运行ifdown eth0禁用以太网卡(7)运行ifup eth0启用以太网卡并重新读取配置。(8)使用ifconfig检查eth0网卡的IP地址配置。2. vsftpd服务器的基本配置(1)rpm -q vsftpd察看vsftpd软件包是否安装(2)service vsftpd start启动vsftpd服务器(3)chkconfig vsftpd on将vsftpd服务设置为自动启动(4)从XP客户端访问“”(5)察看vsftpd服务器的配置文件的缺省配置:vi /etc/vsftpd/vsftpd.conf1)anonymous_enable=YES允许匿名用户登录2)local_enable=YES允许本地用户登录3)write_enable=YES允许写入(上传文件、创建目录)(包含所有用户)4)#anon_upload_enable=YES允许匿名用户上传文件,但已被注释掉5)#anon_mkdir_enable=YES允许匿名用户创建目录,但已被注释掉3. 验证:客户端输入,就可以登录刚才配置的ftp服务器。5. Apache+mysql+php一、先安装最简单的mysql1.mysql的官方网站建议在目前的版本中,最好直接以它们编译好的mysql的binary版本来进行安装. 把下载来的tar包都放在/usr/local/src(这样可以方便集中管理)# groupadd mysql# useradd -g mysql mysql #创建mysql组和mysql用户,这很重要。# cd /usr/local# tar -zxvf /usr/local/src/mysql-3.23.57-pc-linux-i686.tar.gz# ln -s mysql-3.23.57-pc-linux-i686 mysql# cd mysql# scripts/mysql_install_db#这个步骤会在/usr/local/mysql/data里建立好mysql数据库# chown -R root # chown -R mysql data# chgrp -R mysql #设置一些目录的权限,一定要的# bin/safe_mysqld -user=mysql &starting mysqld daemon with databases from /usr/local/mysql/data#这个时候mysql会建立一个/tmp/mysql.sock,可以先等会儿不要急着按enter。这个socket file是动态生成的,不可以被移动,复制,没它mysql是启动不了的。2. # netstat -tl | grep mysqltcp 0 0 *:mysql *:* LISTEN#这样就搞定了,mysql已经在监听了。3.开机后立即启动:# vi /etc/rc.d/rc.local#将下面这一行加入到最后一行cd /usr/local/mysql; /usr/local/mysql/bin/safe_mysqld -user=mysql &#记得加上cd /usr/local/mysql;并在改句后面加个空格,不然会导致无法自动在开机的时候启动。4.高级设置:由于mysql放置的位置在/usr/local/mysql中,而这个目录不在PATH当中,且man page也不在MANPATH里面,所以要手动加入。# vi /etc/profile找到export PATH.那一行,加入这么句:PATH=$PATH:/usr/local/mysql/bin#记得要logout,这个命令在下次开机也可以用了。# vi /etc/man.config#可以在这个文件的任何地方加入这么一行:MANPATH /usr/local/mysql/man5.建立mysql的root帐号密码:# /usr/local/mysql/bin/mysqladmin -u root password yourpassword#为了安全二、安装需要编译的新版apache2.*1.因为目前有所谓的这个动态函数库,因此,在安装apache时,请特别要向apache声明php模块使用动态函数库的模式。# cd /usr/local/src# tar -zxvf httpd-2.0.55.tar.gz# cd httpd-2.0.55# ./configure -prefix=/usr/local/apache2 -enable-so -enable-rewrite#-prefix=/安装的路径-enable-so 这是在宣告使用动态函数库,特别重要!-enable-rewrite 这是预防用的,先设置一下。2.开始编译与安装:#make; make install#应该不会有什么问题了3.简单的修改:# vi /usr/local/apache2/conf/httpd.conf#找到这2行:User nobodyGroup #-1#查一下你的/etc/passwd与/etc/group是否有nobody存在,没有的话自行加。User nobodyGroup nobody#存储后退出。4.确定启动状态:# /usr/local/apache2/bin/apachectl start# netstat -utltcp 0 0 *:http *:* LISTEN同样把/usr/local/apache2/bin/apachectl start放在/etc/rc.d/rc.local内,开机时启动apache。5.高级设置:跟mysql的一样的,在/etc/profile将安装mysql新增的那行该为:PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin三、安装php1.#cd /usr/local/src# tar -zxvf php-4.4.1.tar.gz# cd php-4.4.1#./configure-prefix=/usr/local/php4 -with-apxs2=/usr/local/apache2/bin/apxs -with-mysql=/usr/local/mysql#-with-apxs2=/usr/local/apache2/bin/apxs 这是apache2专用的选项,请针对你的主机设置-with-mysql 这是针对mysql的安装路径,这几个是同一行的.skipping2.开始编译与安装:# make.skippingBuild complete.(It is safe to ignore warnings about tempnam and tmpnam).#make install# cp php.ini-dist /usr/local/lib/php.ini 将主要的 php 设定档 php.ini-dist 拷贝成 /usr/local/lib/php.ini 这个档案, 这是因为 apache 或其它程序执行 php 时需要到 usr/local/lib/ 中去使用这档案。3.启动apache当中的php选项:# vi /usr/local/apache2/conf/httpd.conf#找到下面2行LoadModule php4_module modules/libphp4.so #大约在231行AddType application/x-httpd-php .php #在847行自行增加4.重新启动apache:# /usr/local/apache2/bin/apachectl stop# /usr/local/apache2/bin/apachectl start5.测试php是否正常工作;# cd /usr/local/apache2/htdocs# vi test.php#以我的测试主机 /test.php实验结果和分析:1. web服务器 #设置服务器的基础目录,默认为Apache安装目录ServerRoot /usr/local/apache-2.2.6 #设置服务器监听的IP和端口Listen 80 #设置管理员邮件地址ServerA #设置服务器用于辨识自己的主机名和端口号ServerName :80 #设置默认WEB文档根目录DocumentRoot /usr/local/apache-2.2.6/htdocs #设置WEB文档根目录的默认属性Options FollowSymLinksAllowOverride NoneOrder deny,allowDeny from all #设置DocumentRoot指定目录的属性Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all #设置默认目录资源列表文件DirectoryIndex index.html #拒绝对.ht开头文件的访问,以保护.htaccess文件Order allow,denyDeny from allSatisfy All#指定错误日志文件ErrorLog logs/error_log#指定记录到错误日志的消息级别LogLevel warn编辑Apache服务器默认设置文件:vi /usr/local/apache-2.2.6/conf/extra/httpd-default.conf 按下面的提示修改:#=httpd-default.conf begin=#Apache默认设置文件Timeout 300KeepAlive OffMaxKeepAliveRequests 100KeepAliveTimeout 5UseCanonicalName OffAccessFileName .htaccessServerTokens ProdServerSignature OffHostnameLookups Off#=httpd-default.conf end=指令说明:Timeout:设置服务器在断定请求失败前等待的秒数。默认值300。KeepAlive:设置是否启用HTTP持久链接,On 代表打开,Off 代表关闭。如果用于同一页面包含大量静态文件的应用,设置为On,以提高性能;如果用于主要为动态页面的应用,设置为Off,以节约内存资源;如果服务器 前跑有squid或者其它七层设备,设置为On。MaxKeepAliveRequests:限制当启用KeepAlive时,每个连接允许的请求数量。如果将此值设为0,将不限制请求的数目。笔者建议将此值设为100-500之间的一个值,以确保最优的服务器性能。KeepAliveTimeout:设置持久链接中服务器在两次请求之间等待的秒数。对于高负荷服务器来说,KeepAliveTimeout值较大会导致一些性能方面的问题:超时值越大,与空闲客户端保持连接的进程就越多。UseCanonicalName:配置服务器如何确定它自己的域名,可选值为On | Off | DNS。DNS用于为大量基于IP的虚拟主机支持那些古董级的不提供Host:头的浏览器使用。笔者建议设置为Off。AccessFileName:设置分布式配置文件的名字,默认为.htaccess。如果为某个目录启用了分布式配置文件功能,那么在向客户端返回其中 的文档时,服务器将在这个文档所在的各级目录中查找此配置文件,因此会带来性能问题,笔者建议关闭分布式配置文件功能。ServerTokens:控制服务器回应给客户端的Server:应答头是否包含关于服务器操作系统类型和编译进的模块描述信息,同时还控制着 ServerSignature指令的显示内容。可选值为Full | OS | Minor | Minimal | Major | Prod。笔者建议设置为显示最少信息的Prod。ServerSignature:配置服务器生成页面的页脚,可选值为On | Off | EMail。采用On会简单的增加一行关于服务器版本和正在伺服的虚拟主机的ServerName,而EMail设置会额外创建一个指向 ServerAdmin的mailto:部分。建议使用默认值Off。HostnameLookups:设置是否启用对客户端IP的DNS查找,可选值为On | Off | Double。DNS查询会造成明显的时间消耗,建议设置为Off。2. DNS服务器zone . type hint; file named.ca;#根域,类型为hint 引用的文件是/etc/name.cazone type master; file .zone;#正向区域,,类型为master 引用的文件是/etc/.zonezone 1.168.192. type master; file 1.168.192 ..zone ;#反向区域,1.168.192.,类型为master 引用的文件是/etc/1.168.192 ..zone正向区域$TTL 86400INSOA .. (/此处com.后必须有空格2009052200;serial28800;refresh14400;retry720000;expire86400;ttl)INNS .wwwINAmailINA反向区域$TTL 86400INSOA .. (2009052200;serial28800;refresh14400;retry720000;expire86400;ttl)INNS.1INPTR.1INPTR.3. dhcp服务器#examples default-lease-time 28800 # 定义缺省租约时间 max-

温馨提示

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

评论

0/150

提交评论